summaryrefslogtreecommitdiff
path: root/docs/Changes-2.0.txt
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-07-02 17:19:45 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-07-02 17:19:45 +0000
commitd2058c2875606f33da5fdbb8a3a779588a2f7fc7 (patch)
tree54446b3a891c88d892fab74ad6817f5ea3eda74e /docs/Changes-2.0.txt
parentfe7fb8c62fefd2dd822e950c69fdd194a9370951 (diff)
downloadgdk-pixbuf-d2058c2875606f33da5fdbb8a3a779588a2f7fc7.tar.gz
Move Changes-1.4.txt to the appropriate name.
Sun Jul 2 13:19:12 2000 Owen Taylor <otaylor@redhat.com> * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate name.
Diffstat (limited to 'docs/Changes-2.0.txt')
-rw-r--r--docs/Changes-2.0.txt192
1 files changed, 192 insertions, 0 deletions
diff --git a/docs/Changes-2.0.txt b/docs/Changes-2.0.txt
new file mode 100644
index 000000000..5b4f2507d
--- /dev/null
+++ b/docs/Changes-2.0.txt
@@ -0,0 +1,192 @@
+Incompatible Changes from GTK+-1.2 to GTK+-1.4:
+
+* The gdk_time* functions have been removed. This functionality
+ has been unused since the main loop was moved into GLib
+ prior to 1.2.
+
+* The signature for GtkPrintFunc (used for gtk_item_factory_dump_items)
+ has been changed to take a 'const gchar *' instead of 'gchar *', to
+ match what we do for glib, and other similar cases.
+
+* The detail arguments in the GtkStyleClass structure are now 'const gchar *'.
+
+* gtk_paned_set_gutter_size() has been removed, since the small handle tab
+ has been changed to include the entire area previously occupied by
+ the gutter.
+
+* GDK no longer selects OwnerGrabButtonMask for button presses. This means
+ that the automatic grab that occurs when the user presses a button
+ will have owner_events = FALSE, so all events are redirected to the
+ grab window, even events that would normally go to other windows of the
+ window's owner.
+
+* GtkColorSelectionDialog has now been moved into it's own set of files,
+ gtkcolorseldialog.c and gtkcolorseldialog.h.
+
+* gtk_widget_shape_combine_mask() now keeps a reference count on the
+ mask pixmap that is passed in.
+
+* Type system changes:
+ - GTK_TYPE_OBJECT is not a fundamental type anymore. Type checks of the
+ style (GTK_FUNDAMENTAL_TYPE (some_type) == GTK_TYPE_OBJECT)
+ will not work anymore. As a replacement, (GTK_TYPE_IS_OBJECT (some_type))
+ can be used now.
+ - The following types vanished: GTK_TYPE_ARGS, GTK_TYPE_CALLBACK,
+ GTK_TYPE_C_CALLBACK, GTK_TYPE_FOREIGN. The corresponding GtkArg
+ fields and field access macros are also gone.
+ - The following type aliases vanished: GTK_TYPE_FLAT_FIRST,
+ GTK_TYPE_FLAT_LAST, GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST.
+ - The type macros GTK_TYPE_MAKE() and GTK_TYPE_SEQNO() vanished, use of
+ GTK_FUNDAMENTAL_TYPE() is discouraged. Instead, the corresponding GType
+ API should be used: G_TYPE_FUNDAMENTAL(), G_TYPE_DERIVE_ID(),
+ G_TYPE_BRANCH_SEQNO(). Note that the GLib type system doesn't build new
+ type ids based on a global incremental sequential number anymore, but
+ numbers new type ids sequentially per fundamental type branch.
+ - The following type functions vanished/were replaced:
+ Old Function Replacement
+ gtk_type_query() - being investigated -
+ gtk_type_set_varargs_type() -
+ gtk_type_get_varargs_type() -
+ gtk_type_check_object_cast() g_type_check_instance_cast()
+ gtk_type_check_class_cast() g_type_check_class_cast()
+ gtk_type_describe_tree() -
+ gtk_type_describe_heritage() -
+ gtk_type_free() -
+ gtk_type_children_types() g_type_children()
+ gtk_type_set_chunk_alloc() GTypeInfo.n_preallocs
+ gtk_type_register_enum() g_enum_register_static()
+ gtk_type_register_flags() g_flags_register_static()
+ gtk_type_parent_class() g_type_parent() / g_type_class_peek_parent()
+ Use of g_type_class_ref() / g_type_class_unref() and g_type_class_peek()
+ is recommended over usage of gtk_type_class().
+ Use of g_type_register_static() / g_type_register_dynamic() is recommended
+ over usage of gtk_type_unique().
+
+* Object system changes:
+ GtkObject derives from GObject, so is not the basic object type anymore.
+ This imposes the following source incompatible changes:
+ - GtkObject has no klass field anymore, an object's class can be retrived
+ with the object's coresponding GTK_<OBJECT>_GET_CLASS (object) macro.
+ - GtkObjectClass has no type field anymore, a class's type can be retrived
+ with the GTK_CLASS_TYPE (class) macro.
+ - GtkObjectClass does not introduce the finalize() and shutdown() methods
+ anymore. While shutdown() is intended for GTK+ internal use only, finalize()
+ is required by a variety of object implementations. GObjectClass.finalize
+ should be overriden here, e.g.:
+ static void gtk_label_finalize (GObject *gobject)
+ {
+ GtkLabel *label = GTK_LABEL (gobject);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+ }
+ static void gtk_label_class_init (GtkLabelClass *class)
+ {
+ GObjectClass *gobject_class = G_OBJECT_CLASS (class);
+
+ gobject_class->finalize = gtk_label_finalize;
+ }
+
+ - the GtkObject::destroy signal can now be emitted multiple times on an object.
+ ::destroy implementations should check that make sure that they take this
+ into account, by checking to make sure that resources are there before
+ freeing them. For example:
+ if (object->foo_data)
+ {
+ g_free (object->foo_data);
+ object->foo_data = NULL;
+ }
+
+ Also, ::destroy implementations have to release object references that
+ the object holds. Code in finalize implementations such as:
+ if (object->adjustment)
+ {
+ gtk_object_unref (object->adjustment);
+ object->adjustment = NULL;
+ }
+ have to be moved into the ::destroy implementations. The reason for doing
+ this is that all object reference cycles should be broken at destruction
+ time.
+
+- Inserting and deleting text in GtkEntry though functions such
+ as gtk_entry_insert_text() now leave the cursor at its original
+ position in the text instead of moving it to the location of
+ the insertion/deletion.
+
+- The ->label field of GtkFrame widgets has been removed. (As part of
+ a change to allow the arbitrary widgets in the title position.) The
+ text can now be retrieved with the new function gtk_frame_get_text().
+
+- The 'font' and 'font_set' declarations in RC files are now ignored. There
+ is a new 'font_name' field that holds the string form of a Pango font
+
+- A number of types in GDK have become subclasses of GObject. For the
+ most part, this should not break anyone's code. However, it's now
+ possible/encouraged to use g_object_ref()/g_object_unref() and other
+ GObject features with these GDK types. The converted types are:
+ GdkWindow, GdkDrawable, GdkPixmap, GdkImage, GdkGC, GdkDragContext,
+ GdkColormap
+
+- All drawables including pixmaps used to have a type tag, the
+ GdkWindowType enumeration, which included GDK_WINDOW_PIXMAP.
+ GdkWindowType is now a property of GdkWindow _only_, and there is
+ no GDK_WINDOW_PIXMAP. You can use the GDK_IS_PIXMAP() macro to see
+ if you have a pixmap, if you need to know that.
+
+- GtkStyle and GtkRcStyle are now subclasses of GObject as well. This
+ requires fairly extensive changes to theme engines quite badly, but
+ shouldn't affect most other code.
+
+- xthickness/ythickness have moved from GtkStyleClass to GtkStyle
+ (from class to instance). This gives themes a bit more flexibility
+ and is generally more of the Right Thing. You can trivially fix
+ your code with s/style->klass->xthickness/style->xthickness/g and
+ same for ythickness.
+
+- If you were using private GDK types, they have been rearranged
+ significantly. You shouldn't use private types. ;-)
+
+- The visual for a widget, and also the default visual is now derived
+ from the colormap for the widget and the default colormap.
+ gtk_widget_set_visual(), gtk_widget_set_defualt_visual(), gtk_widget_push_visual()
+ and gtk_widget_pop_visual() now do nothing. Since the visual always
+ had to match that of the colormap, it is safe to simply delete
+ all references to these functions.
+
+- A number of functions in GDK have been renamed for consistency and
+ clarity. #defines to provide backwards compatibility have been
+ included, but can be disabled by defineing GDK_DISABLE_COMPAT_H.
+
+ #define gdk_draw_pixmap gdk_draw_drawable
+ #define gdk_draw_bitmap gdk_draw_drawable
+
+ #define gdk_window_get_size gdk_drawable_get_size
+ #define gdk_window_get_type gdk_window_get_window_type
+ #define gdk_window_get_colormap gdk_drawable_get_colormap
+ #define gdk_window_set_colormap gdk_drawable_set_colormap
+ #define gdk_window_get_visual gdk_drawable_get_visual
+
+ #define gdk_window_ref gdk_drawable_ref
+ #define gdk_window_unref gdk_drawable_unref
+ #define gdk_bitmap_ref gdk_drawable_ref
+ #define gdk_bitmap_unref gdk_drawable_unref
+ #define gdk_pixmap_ref gdk_drawable_ref
+ #define gdk_pixmap_unref gdk_drawable_unref
+
+ #define gdk_gc_destroy gdk_gc_unref
+ #define gdk_image_destroy gdk_image_unref
+ #define gdk_cursor_destroy gdk_cursor_unref
+
+ (Note that g_object_ref() and g_object_unref() may be used for all of
+ the above.)
+
+ #define gdk_window_copy_area(drawable,gc,x,y,source_drawable,source_x,source_y,width,height) \
+ gdk_draw_pixmap(drawable,gc,source_drawable,source_x,source_y,x,y,width,height)
+
+ #define gdk_rgb_get_cmap gdk_rgb_get_colormap
+
+- gdk_pixmap_foreign_new() no longer calls XFreePixmap() on the
+ pixmap when the GdkPixmap is finalized. This change corresponds
+ to the behavior of gdk_window_foreign_new(), and fixes a lot
+ of problems with code where the pixmap wasn't supposed to be
+ freed. If XFreePixmap() is needed, it can be done using the
+ destroy-notification facilities of g_object_set_data(). \ No newline at end of file