summaryrefslogtreecommitdiff
path: root/docs/Changes-2.0.txt
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2000-07-25 22:58:17 +0000
committerHavoc Pennington <hp@src.gnome.org>2000-07-25 22:58:17 +0000
commitf56297c5346cddb72b383161bbde9168824acb94 (patch)
treeacf176b40ef8c399ed120d3c01687f2a3a3252f9 /docs/Changes-2.0.txt
parentd1a4a1ea28f0a3b87332874c68eccbe2d6272ea9 (diff)
downloadgtk+-f56297c5346cddb72b383161bbde9168824acb94.tar.gz
Implement new sane, 5-function API for using GtkProgressBar. See
2000-07-25 Havoc Pennington <hp@redhat.com> * gtk/gtkprogressbar.h: Implement new sane, 5-function API for using GtkProgressBar. See Changes-2.0.txt for details. * gtk/gtkprogressbar.c: Add object arguments "fraction" and "pulse_step" which are the equivalent of gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction. Implement new API. * gtk/gtkprogress.h (struct _GtkProgress): Add a field (use_text_format) to mark whether text set on the progress bar is a format string. Deprecate entire GtkProgress interface. * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE (gtk_progress_build_string): make this a no-op if use_text_format is FALSE * docs/Changes-2.0.txt: Describe progress bar changes.
Diffstat (limited to 'docs/Changes-2.0.txt')
-rw-r--r--docs/Changes-2.0.txt42
1 files changed, 41 insertions, 1 deletions
diff --git a/docs/Changes-2.0.txt b/docs/Changes-2.0.txt
index 5b4f2507d7..14cb9d0098 100644
--- a/docs/Changes-2.0.txt
+++ b/docs/Changes-2.0.txt
@@ -189,4 +189,44 @@ Incompatible Changes from GTK+-1.2 to GTK+-1.4:
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
+ destroy-notification facilities of g_object_set_data().
+
+- GtkProgress/GtkProgressBar had serious problems in GTK 1.2.
+
+ - Only 3 or 4 functions are really needed for 95% of progress
+ interfaces; GtkProgress[Bar] had about 25 functions, and
+ didn't even include these 3 or 4.
+ - In activity mode, the API involves setting the adjustment
+ to any random value, just to have the side effect of
+ calling the progress bar update function - the adjustment
+ is totally ignored in activity mode
+ - You set the activity step as a pixel value, which means to
+ set the activity step you basically need to connect to
+ size_allocate
+ - There are ctree_set_expander_style()-functions, to randomly
+ change look-and-feel for no good reason
+ - The split between GtkProgress and GtkProgressBar makes no sense
+ to me whatsoever.
+
+ This was a big wart on GTK and made people waste lots of time,
+ both learning and using the interface.
+
+ So, we have added what we feel is the correct API, and marked all the
+ rest deprecated. However, the changes are 100% backward-compatible and
+ should break no existing code.
+
+ The following 5 functions are the new programming interface and you
+ should consider changing your code to use them:
+
+ void gtk_progress_bar_pulse (GtkProgressBar *pbar);
+ void gtk_progress_bar_set_text (GtkProgressBar *pbar,
+ const gchar *text);
+ void gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
+ gfloat fraction);
+
+ void gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
+ gfloat fraction);
+ void gtk_progress_bar_set_orientation (GtkProgressBar *pbar,
+ GtkProgressBarOrientation orientation);
+
+