# HG changeset patch # User Jan Dj¸«£rv # Date 1099311645 0 # Node ID 2c65a9fc7dec3de520a1333acaf908e9dd872d60 # Parent 62a9b3e86b6b578121466278a1176664587bdc84 * xlwmenu.c (find_first_selectable, find_next_selectable) (find_prev_selectable): Rename parameter skip_no_call_data to skip_titles. Recognize titles as having no call_data and no contents. (Down, Up): Comment update. diff -r 62a9b3e86b6b -r 2c65a9fc7dec lwlib/ChangeLog --- a/lwlib/ChangeLog Mon Nov 01 11:04:37 2004 +0000 +++ b/lwlib/ChangeLog Mon Nov 01 12:20:45 2004 +0000 @@ -1,3 +1,10 @@ +2004-11-01 Jan Dj,Ad(Brv + + * xlwmenu.c (find_first_selectable, find_next_selectable) + (find_prev_selectable): Rename parameter skip_no_call_data to + skip_titles. Recognize titles as having no call_data and no contents. + (Down, Up): Comment update. + 2004-08-30 Jan Dj,Ad(Brv * lwlib.h (_widget_value): Added lname and lkey. diff -r 62a9b3e86b6b -r 2c65a9fc7dec lwlib/xlwmenu.c --- a/lwlib/xlwmenu.c Mon Nov 01 11:04:37 2004 +0000 +++ b/lwlib/xlwmenu.c Mon Nov 01 12:20:45 2004 +0000 @@ -2054,26 +2054,26 @@ } static widget_value * -find_first_selectable (mw, item, skip_no_call_data) +find_first_selectable (mw, item, skip_titles) XlwMenuWidget mw; widget_value *item; - int skip_no_call_data; + int skip_titles; { widget_value *current = item; enum menu_separator separator; while (lw_separator_p (current->name, &separator, 0) || !current->enabled - || (skip_no_call_data && !current->call_data)) + || (skip_titles && !current->call_data && !current->contents)) if (current->next) current=current->next; else - return NULL; + return NULL; return current; } static widget_value * -find_next_selectable (mw, item, skip_no_call_data) +find_next_selectable (mw, item, skip_titles) XlwMenuWidget mw; widget_value *item; { @@ -2082,7 +2082,7 @@ while (current->next && (current=current->next) && (lw_separator_p (current->name, &separator, 0) || !current->enabled - || (skip_no_call_data && !current->call_data))) + || (skip_titles && !current->call_data && !current->contents))) ; if (current == item) @@ -2093,7 +2093,8 @@ while (lw_separator_p (current->name, &separator, 0) || !current->enabled - || (skip_no_call_data && !current->call_data)) + || (skip_titles && !current->call_data + && !current->contents)) { if (current->next) current=current->next; @@ -2108,14 +2109,14 @@ } static widget_value * -find_prev_selectable (mw, item, skip_no_call_data) +find_prev_selectable (mw, item, skip_titles) XlwMenuWidget mw; widget_value *item; { widget_value *current = item; widget_value *prev = item; - while ((current=find_next_selectable (mw, current, skip_no_call_data)) + while ((current=find_next_selectable (mw, current, skip_titles)) != item) { if (prev == current) @@ -2141,8 +2142,7 @@ if (mw->menu.old_depth == mw->menu.top_depth) /* When in the menu-bar is pressed, display the corresponding sub-menu and select the first selectable menu item there. - If this is a popup menu, skip items with zero call data (title of - the popup). */ + If this is a popup menu, skip title item of the popup. */ set_new_state (mw, find_first_selectable (mw, selected_item->contents, @@ -2174,8 +2174,7 @@ last selectable item in the list. So we select the first selectable one and find the previous selectable item. Is there a better way? */ - /* If this is a popup menu, skip items with zero call data (title of - the popup). */ + /* If this is a popup menu, skip title item of the popup. */ set_new_state (mw, find_first_selectable (mw, selected_item->contents,