X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-selector.c;h=914c870174907e22d2b250797a3d20ba231d3e40;hb=b94025a12799b6826a772731b8f58907dca2cf5c;hp=7e0ade25009dd019125f8e7cc8b4a96df4c2f967;hpb=a9a69251edd625a50f271af5d64c157533b5fe48;p=pspp-builds.git diff --git a/src/ui/gui/psppire-selector.c b/src/ui/gui/psppire-selector.c index 7e0ade25..914c8701 100644 --- a/src/ui/gui/psppire-selector.c +++ b/src/ui/gui/psppire-selector.c @@ -303,6 +303,11 @@ psppire_selector_base_finalize(PsppireSelectorClass *class, static void psppire_selector_init (PsppireSelector *selector) { + selector->select_user_data = NULL; + selector->select_items = NULL; + selector->allow_selection = NULL; + selector->filter = NULL; + selector->arrow = gtk_arrow_new (GTK_ARROW_LEFT, GTK_SHADOW_NONE); selector->filtered_source = NULL; @@ -863,6 +868,12 @@ update_subjects (PsppireSelector *selector) if ( NULL == selector->dest ) return; + if ( selector->filter == NULL) + { + if (GTK_IS_TREE_VIEW (selector->dest)) + selector->filter = is_item_in_dest; + } + if ( NULL == selector->source ) return; @@ -900,22 +911,28 @@ update_subjects (PsppireSelector *selector) } -/* Set SELECT_FUNC and FILTER_FUNC for this selector */ +/* Set FILTER_FUNC for this selector */ void -psppire_selector_set_subjects (PsppireSelector *selector, - SelectItemsFunc *select_func, - FilterItemsFunc *filter_func, - gpointer user_data) +psppire_selector_set_filter_func (PsppireSelector *selector, + FilterItemsFunc *filter_func) { selector->filter = filter_func ; - selector->select_user_data = user_data; - if ( filter_func == NULL) + if ( selector->filter == NULL) { if (GTK_IS_TREE_VIEW (selector->dest)) selector->filter = is_item_in_dest; } +} + +/* Set SELECT_FUNC for this selector */ +void +psppire_selector_set_select_func (PsppireSelector *selector, + SelectItemsFunc *select_func, + gpointer user_data) +{ + selector->select_user_data = user_data; selector->select_items = select_func; }