summaryrefslogtreecommitdiff
path: root/gtk/gtkprogressbar.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@pobox.com>2001-01-18 04:10:40 +0000
committerHavoc Pennington <hp@src.gnome.org>2001-01-18 04:10:40 +0000
commited4204456ad6d22fb9ea59ba74622ccc10d67522 (patch)
tree2faf0eae242d008442324a7ff8888d27e2584755 /gtk/gtkprogressbar.c
parentf0c92577d36c93248f541df3fbcbc612dcdf26e5 (diff)
downloadgtk+-ed4204456ad6d22fb9ea59ba74622ccc10d67522.tar.gz
Add "getters" for all the non-deprecated set_foo functions. Added missing
2001-01-17 Havoc Pennington <hp@pobox.com> * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for all the non-deprecated set_foo functions. Added missing object properties, and added g_object_notify() to setters. Wrote docs.
Diffstat (limited to 'gtk/gtkprogressbar.c')
-rw-r--r--gtk/gtkprogressbar.c143
1 files changed, 138 insertions, 5 deletions
diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c
index a0061b99ae..5cca5c8a16 100644
--- a/gtk/gtkprogressbar.c
+++ b/gtk/gtkprogressbar.c
@@ -47,14 +47,19 @@
enum {
ARG_0,
- ARG_ADJUSTMENT,
+
+ /* Supported args */
+ ARG_FRACTION,
+ ARG_PULSE_STEP,
ARG_ORIENTATION,
+ ARG_TEXT,
+
+ /* Deprecated args */
+ ARG_ADJUSTMENT,
ARG_BAR_STYLE,
ARG_ACTIVITY_STEP,
ARG_ACTIVITY_BLOCKS,
- ARG_DISCRETE_BLOCKS,
- ARG_FRACTION,
- ARG_PULSE_STEP
+ ARG_DISCRETE_BLOCKS
};
static void gtk_progress_bar_class_init (GtkProgressBarClass *klass);
@@ -140,6 +145,10 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class)
GTK_TYPE_FLOAT,
GTK_ARG_READWRITE,
ARG_PULSE_STEP);
+ gtk_object_add_arg_type ("GtkProgressBar::text",
+ GTK_TYPE_STRING,
+ GTK_ARG_READWRITE,
+ ARG_TEXT);
object_class->set_arg = gtk_progress_bar_set_arg;
object_class->get_arg = gtk_progress_bar_get_arg;
@@ -200,6 +209,9 @@ gtk_progress_bar_set_arg (GtkObject *object,
case ARG_PULSE_STEP:
gtk_progress_bar_set_pulse_step (pbar, GTK_VALUE_FLOAT (*arg));
break;
+ case ARG_TEXT:
+ gtk_progress_bar_set_text (pbar, GTK_VALUE_STRING (*arg));
+ break;
default:
break;
}
@@ -240,6 +252,9 @@ gtk_progress_bar_get_arg (GtkObject *object,
case ARG_PULSE_STEP:
GTK_VALUE_FLOAT (*arg) = pbar->pulse_fraction;
break;
+ case ARG_TEXT:
+ GTK_VALUE_STRING (*arg) = gtk_progress_bar_get_text (pbar);
+ break;
default:
arg->type = GTK_TYPE_INVALID;
break;
@@ -777,6 +792,16 @@ gtk_progress_bar_paint (GtkProgress *progress)
/*******************************************************************/
+/**
+ * gtk_progress_bar_set_fraction:
+ * @pbar: a #GtkProgressBar
+ * @fraction: fraction of the task that's been completed
+ *
+ * Causes the progress bar to "fill in" the given fraction
+ * of the bar. The fraction should be between 0.0 and 1.0,
+ * inclusive.
+ *
+ **/
void
gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
gfloat fraction)
@@ -792,8 +817,20 @@ gtk_progress_bar_set_fraction (GtkProgressBar *pbar,
* we can clean up all this code.
*/
gtk_progress_set_percentage (GTK_PROGRESS (pbar), fraction);
+
+ g_object_notify (G_OBJECT (pbar), "fraction");
}
+/**
+ * gtk_progress_bar_pulse:
+ * @pbar: a #GtkProgressBar
+ *
+ * Indicates that some progress is made, but you don't know how much.
+ * Causes the progress bar to enter "activity mode," where a block
+ * bounces back and forth. Each call to gtk_progress_bar_pulse()
+ * causes the block to move by a little bit (the amount of movement
+ * per pulse is determined by gtk_progress_bar_set_pulse_step()).
+ **/
void
gtk_progress_bar_pulse (GtkProgressBar *pbar)
{
@@ -807,9 +844,16 @@ gtk_progress_bar_pulse (GtkProgressBar *pbar)
gtk_progress_bar_real_update (GTK_PROGRESS (pbar));
}
+/**
+ * gtk_progress_bar_set_text:
+ * @pbar: a #GtkProgressBar
+ * @text: a UTF-8 string
+ *
+ * Causes the given @text to appear superimposed on the progress bar.
+ **/
void
gtk_progress_bar_set_text (GtkProgressBar *pbar,
- const gchar *text)
+ const gchar *text)
{
g_return_if_fail (pbar != NULL);
g_return_if_fail (GTK_IS_PROGRESS_BAR (pbar));
@@ -827,8 +871,18 @@ gtk_progress_bar_set_text (GtkProgressBar *pbar,
gtk_progress_set_show_text (GTK_PROGRESS (pbar), FALSE);
gtk_progress_set_format_string (GTK_PROGRESS (pbar), "");
}
+
+ g_object_notify (G_OBJECT (pbar), "text");
}
+/**
+ * gtk_progress_bar_set_pulse_step:
+ * @pbar: a #GtkProgressBar
+ * @fraction: fraction between 0.0 and 1.0
+ *
+ * Sets the fraction of total progress bar length to move the
+ * bouncing block for each call to gtk_progress_bar_pulse().
+ **/
void
gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
gfloat fraction)
@@ -837,6 +891,8 @@ gtk_progress_bar_set_pulse_step (GtkProgressBar *pbar,
g_return_if_fail (GTK_IS_PROGRESS_BAR (pbar));
pbar->pulse_fraction = fraction;
+
+ g_object_notify (G_OBJECT (pbar), "pulse_step");
}
void
@@ -853,6 +909,14 @@ gtk_progress_bar_update (GtkProgressBar *pbar,
gtk_progress_set_percentage (GTK_PROGRESS (pbar), percentage);
}
+/**
+ * gtk_progress_bar_set_orientation:
+ * @pbar: a #GtkProgressBar
+ * @orientation: orientation of the progress bar
+ *
+ * Causes the progress bar to switch to a different orientation
+ * (left-to-right, right-to-left, top-to-bottom, or bottom-to-top).
+ **/
void
gtk_progress_bar_set_orientation (GtkProgressBar *pbar,
GtkProgressBarOrientation orientation)
@@ -867,6 +931,75 @@ gtk_progress_bar_set_orientation (GtkProgressBar *pbar,
if (GTK_WIDGET_DRAWABLE (GTK_WIDGET (pbar)))
gtk_widget_queue_resize (GTK_WIDGET (pbar));
}
+
+ g_object_notify (G_OBJECT (pbar), "orientation");
+}
+
+/**
+ * gtk_progress_bar_get_text:
+ * @pbar: a #GtkProgressBar
+ *
+ * Retrieves the text displayed superimposed on the progress bar.
+ *
+ * Return value: a string which must be freed, or %NULL
+ **/
+gchar*
+gtk_progress_bar_get_text (GtkProgressBar *pbar)
+{
+ g_return_val_if_fail (GTK_IS_PROGRESS_BAR (pbar), NULL);
+
+ if (GTK_PROGRESS (pbar)->use_text_format)
+ return NULL;
+ else
+ return g_strdup (GTK_PROGRESS (pbar)->format);
+}
+
+/**
+ * gtk_progress_bar_get_fraction:
+ * @pbar: a #GtkProgressBar
+ *
+ * Returns the current fraction of the task that's been completed.
+ *
+ * Return value: a fraction from 0.0 to 1.0
+ **/
+gfloat
+gtk_progress_bar_get_fraction (GtkProgressBar *pbar)
+{
+ g_return_val_if_fail (GTK_IS_PROGRESS_BAR (pbar), 0);
+
+ return gtk_progress_get_current_percentage (GTK_PROGRESS (pbar));
+}
+
+/**
+ * gtk_progress_bar_get_pulse_step:
+ * @pbar: a #GtkProgressBar
+ *
+ * Retrieves the pulse step set with gtk_progress_bar_set_pulse_step()
+ *
+ * Return value: a fraction from 0.0 to 1.0
+ **/
+gfloat
+gtk_progress_bar_get_pulse_step (GtkProgressBar *pbar)
+{
+ g_return_val_if_fail (GTK_IS_PROGRESS_BAR (pbar), 0);
+
+ return pbar->pulse_fraction;
+}
+
+/**
+ * gtk_progress_bar_get_orientation:
+ * @pbar: a #GtkProgressBar
+ *
+ * Retrieves the current progress bar orientation.
+ *
+ * Return value: orientation of the progress bar
+ **/
+GtkProgressBarOrientation
+gtk_progress_bar_get_orientation (GtkProgressBar *pbar)
+{
+ g_return_val_if_fail (GTK_IS_PROGRESS_BAR (pbar), 0);
+
+ return pbar->orientation;
}
void