From 74388444a28ea07cc2bc04fc632733c6ee28eca6 Mon Sep 17 00:00:00 2001 From: Derek Atkins Date: Thu, 4 Jul 2002 14:19:51 +0000 Subject: [PATCH] * option-util.c: add gnc_option_get_option_data() function * dialog-options: publish gnc_options_dialog_changed_internal() so pluggible options can set the flag, too. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7083 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/app-utils/option-util.c | 15 +++++++++++++++ src/app-utils/option-util.h | 1 + src/gnome-utils/dialog-options.c | 2 +- src/gnome-utils/dialog-options.h | 3 +++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/app-utils/option-util.c b/src/app-utils/option-util.c index 2ed253d49b..6d773679cc 100644 --- a/src/app-utils/option-util.c +++ b/src/app-utils/option-util.c @@ -896,6 +896,21 @@ gnc_option_show_time(GNCOption *option) return gh_scm2bool(value); } +/********************************************************************\ + * gnc_option_get_option_data * + * returns the option data of this option * + * * + * Args: option - the GNCOption * + * Returns: the option data * +\********************************************************************/ +SCM +gnc_option_get_option_data(GNCOption *option) +{ + initialize_getters(); + + return gh_call1(getters.option_data, option->guile_option); +} + /********************************************************************\ * gnc_option_multiple_selection * diff --git a/src/app-utils/option-util.h b/src/app-utils/option-util.h index dc5c779dc4..ca7b0a7155 100644 --- a/src/app-utils/option-util.h +++ b/src/app-utils/option-util.h @@ -84,6 +84,7 @@ SCM gnc_option_setter(GNCOption *option); SCM gnc_option_default_getter(GNCOption *option); SCM gnc_option_value_validator(GNCOption *option); SCM gnc_option_widget_changed_proc_getter(GNCOption *option); +SCM gnc_option_get_option_data(GNCOption *option); int gnc_option_num_permissible_values(GNCOption *option); int gnc_option_permissible_value_index(GNCOption *option, SCM value); diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c index 3dd9e9391a..afec7f6d36 100644 --- a/src/gnome-utils/dialog-options.c +++ b/src/gnome-utils/dialog-options.c @@ -123,7 +123,7 @@ gnc_options_dialog_get_cancel_button (GtkWidget *widget) return NULL; } -static void +void gnc_options_dialog_changed_internal (GtkWidget *widget) { GtkWidget *button; diff --git a/src/gnome-utils/dialog-options.h b/src/gnome-utils/dialog-options.h index 72024023fd..735cb0dfbb 100644 --- a/src/gnome-utils/dialog-options.h +++ b/src/gnome-utils/dialog-options.h @@ -91,4 +91,7 @@ void gnc_options_ui_initialize (void); void gnc_options_ui_register_option (GNCOptionDef_t *option); GNCOptionDef_t * gnc_options_ui_get_option (const char *option_name); +/* For option definitions outside the main module only */ +void gnc_options_dialog_changed_internal (GtkWidget *widget); + #endif /* OPTIONS_DIALOG_H */