aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ephy-dialog.c25
-rw-r--r--lib/ephy-dialog.h4
2 files changed, 29 insertions, 0 deletions
diff --git a/lib/ephy-dialog.c b/lib/ephy-dialog.c
index 09ead6a75..234680c4b 100644
--- a/lib/ephy-dialog.c
+++ b/lib/ephy-dialog.c
@@ -1228,6 +1228,31 @@ ephy_dialog_get_control (EphyDialog *dialog,
return info->widget;
}
+void
+ephy_dialog_get_controls (EphyDialog *dialog,
+ const char *property_id,
+ ...)
+{
+ PropertyInfo *info;
+ GtkWidget **wptr;
+ va_list varargs;
+
+ va_start (varargs, property_id);
+
+ while (property_id != NULL)
+ {
+ info = lookup_info (dialog, property_id);
+ g_return_if_fail (info != NULL);
+
+ wptr = va_arg (varargs, GtkWidget **);
+ *wptr = info->widget;
+
+ property_id = va_arg (varargs, const char *);
+ }
+
+ va_end (varargs);
+}
+
gboolean
ephy_dialog_get_value (EphyDialog *dialog,
const char *property_id,
diff --git a/lib/ephy-dialog.h b/lib/ephy-dialog.h
index cb9d88c9e..9cf7aebf7 100644
--- a/lib/ephy-dialog.h
+++ b/lib/ephy-dialog.h
@@ -121,6 +121,10 @@ void ephy_dialog_set_modal (EphyDialog *dialog,
GtkWidget *ephy_dialog_get_control (EphyDialog *dialog,
const char *property_id);
+void ephy_dialog_get_controls (EphyDialog *dialog,
+ const char *first_property_id,
+ ...);
+
gboolean ephy_dialog_get_value (EphyDialog *dialog,
const char *property_id,
GValue *value);