summaryrefslogtreecommitdiff
path: root/src/trg-json-widgets.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-12-22 22:39:32 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-12-22 22:39:32 +0000
commitd3ca30c9ebe0e5b104d4dd89d4f998fad3a5d5ae (patch)
treea6121706b304a9432f8fb57d69b94fad97c11312 /src/trg-json-widgets.c
parent9280f0796483582fc421b2401fbe9c4be4425b4d (diff)
some support for "alternate" speed limits, including setting them to be turned on/off at a certain time range.
Diffstat (limited to 'src/trg-json-widgets.c')
-rw-r--r--src/trg-json-widgets.c117
1 files changed, 35 insertions, 82 deletions
diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c
index ac4fba3..abdaf27 100644
--- a/src/trg-json-widgets.c
+++ b/src/trg-json-widgets.c
@@ -31,8 +31,7 @@
* pointers for load/save.
*/
-void trg_json_widgets_save(GList * list, JsonObject * out)
-{
+void trg_json_widgets_save(GList * list, JsonObject * out) {
GList *li;
for (li = list; li; li = g_list_next(li)) {
trg_json_widget_desc *wd = (trg_json_widget_desc *) li->data;
@@ -40,14 +39,12 @@ void trg_json_widgets_save(GList * list, JsonObject * out)
}
}
-void trg_json_widget_desc_free(trg_json_widget_desc * wd)
-{
+void trg_json_widget_desc_free(trg_json_widget_desc * wd) {
g_free(wd->key);
g_free(wd);
}
-void trg_json_widget_desc_list_free(GList * list)
-{
+void trg_json_widget_desc_list_free(GList * list) {
GList *li;
for (li = list; li; li = g_list_next(li))
trg_json_widget_desc_free((trg_json_widget_desc *) li->data);
@@ -55,17 +52,12 @@ void trg_json_widget_desc_list_free(GList * list)
g_list_free(list);
}
-void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data)
-{
- gtk_widget_set_sensitive(GTK_WIDGET(data),
- gtk_toggle_button_get_active(b));
+void toggle_active_arg_is_sensitive(GtkToggleButton * b, gpointer data) {
+ gtk_widget_set_sensitive(GTK_WIDGET(data), gtk_toggle_button_get_active(b));
}
GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj,
- const gchar * key,
- const gchar * label,
- GtkWidget * toggleDep)
-{
+ const gchar * key, const gchar * label, GtkWidget * toggleDep) {
GtkWidget *w = gtk_check_button_new_with_mnemonic(label);
trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1);
@@ -75,14 +67,13 @@ GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj,
if (toggleDep) {
gtk_widget_set_sensitive(w,
- gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON(toggleDep)));
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep)));
g_signal_connect(G_OBJECT(toggleDep), "toggled",
- G_CALLBACK(toggle_active_arg_is_sensitive), w);
+ G_CALLBACK(toggle_active_arg_is_sensitive), w);
}
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w),
- json_object_get_boolean_member(obj, key));
+ json_object_get_boolean_member(obj, key));
*wl = g_list_append(*wl, wd);
@@ -90,9 +81,7 @@ GtkWidget *trg_json_widget_check_new(GList ** wl, JsonObject * obj,
}
GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj,
- const gchar * key,
- GtkWidget * toggleDep)
-{
+ const gchar * key, GtkWidget * toggleDep) {
GtkWidget *w = gtk_entry_new();
trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1);
@@ -102,103 +91,67 @@ GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj,
if (toggleDep) {
gtk_widget_set_sensitive(w,
- gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON(toggleDep)));
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep)));
g_signal_connect(G_OBJECT(toggleDep), "toggled",
- G_CALLBACK(toggle_active_arg_is_sensitive), w);
+ G_CALLBACK(toggle_active_arg_is_sensitive), w);
}
- gtk_entry_set_text(GTK_ENTRY(w),
- json_object_get_string_member(obj, key));
+ gtk_entry_set_text(GTK_ENTRY(w), json_object_get_string_member(obj, key));
*wl = g_list_append(*wl, wd);
return w;
}
-static GtkWidget *trg_json_widget_spin_common_new(GList ** wl,
- JsonObject * obj,
- const gchar * key,
- GtkWidget * toggleDep,
- trg_json_widget_spin_type
- type, gint min, gint max,
- gdouble step)
-{
+void trg_json_widget_time_save(GtkWidget * widget, JsonObject * obj,
+ gchar * key) {
+
+ json_object_set_double_member(obj, key,
+ gtk_spin_button_get_value(GTK_SPIN_BUTTON
+ (widget)));
+}
+
+GtkWidget *trg_json_widget_spin_new(GList ** wl, JsonObject * obj,
+ const gchar * key, GtkWidget * toggleDep, gdouble min, gdouble max,
+ gdouble step) {
GtkWidget *w = gtk_spin_button_new_with_range(min, max, step);
trg_json_widget_desc *wd = g_new0(trg_json_widget_desc, 1);
JsonNode *node = json_object_get_member(obj, key);
- if (type == TRG_JSON_WIDGET_SPIN_DOUBLE)
- wd->saveFunc = trg_json_widget_spin_save_double;
- else
- wd->saveFunc = trg_json_widget_spin_save_int;
-
+ wd->saveFunc = trg_json_widget_spin_save_double;
wd->key = g_strdup(key);
wd->widget = w;
if (toggleDep) {
gtk_widget_set_sensitive(w,
- gtk_toggle_button_get_active
- (GTK_TOGGLE_BUTTON(toggleDep)));
+ gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggleDep)));
g_signal_connect(G_OBJECT(toggleDep), "toggled",
- G_CALLBACK(toggle_active_arg_is_sensitive), w);
+ G_CALLBACK(toggle_active_arg_is_sensitive), w);
}
gtk_spin_button_set_value(GTK_SPIN_BUTTON(w),
- json_node_really_get_double(node));
+ json_node_really_get_double(node));
*wl = g_list_append(*wl, wd);
return w;
}
-GtkWidget *trg_json_widget_spin_new_int(GList ** wl, JsonObject * obj,
- const gchar * key,
- GtkWidget * toggleDep, gint min,
- gint max, gint step)
-{
- return trg_json_widget_spin_common_new(wl, obj, key, toggleDep,
- TRG_JSON_WIDGET_SPIN_INT, min,
- max, (gdouble) step);
-}
-
-GtkWidget *trg_json_widget_spin_new_double(GList ** wl, JsonObject * obj,
- const gchar * key,
- GtkWidget * toggleDep, gint min,
- gint max, gdouble step)
-{
- return trg_json_widget_spin_common_new(wl, obj, key, toggleDep,
- TRG_JSON_WIDGET_SPIN_DOUBLE,
- min, max, step);
-}
-
void trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj,
- gchar * key)
-{
- gboolean active =
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ gchar * key) {
+ gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
json_object_set_boolean_member(obj, key, active);
}
void trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj,
- gchar * key)
-{
+ gchar * key) {
json_object_set_string_member(obj, key,
- gtk_entry_get_text(GTK_ENTRY(widget)));
-}
-
-void trg_json_widget_spin_save_int(GtkWidget * widget, JsonObject * obj,
- gchar * key)
-{
- json_object_set_int_member(obj, key, (gint)
- gtk_spin_button_get_value(GTK_SPIN_BUTTON
- (widget)));
+ gtk_entry_get_text(GTK_ENTRY(widget)));
}
void trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj,
- gchar * key)
-{
+ gchar * key) {
json_object_set_double_member(obj, key,
- gtk_spin_button_get_value(GTK_SPIN_BUTTON
- (widget)));
+ gtk_spin_button_get_value(GTK_SPIN_BUTTON
+ (widget)));
}