diff options
| author | Jason Rumney | 2000-11-28 20:28:02 +0000 |
|---|---|---|
| committer | Jason Rumney | 2000-11-28 20:28:02 +0000 |
| commit | 222456a1f066908ac56ea8a2d0fab88c30409f25 (patch) | |
| tree | 5516f0bf6e3f417cab0b3f751cb920e3e1d09ae6 /src | |
| parent | 3cbd02d2891253446b91e9cd58a19d755e5c1fe9 (diff) | |
| download | emacs-222456a1f066908ac56ea8a2d0fab88c30409f25.tar.gz emacs-222456a1f066908ac56ea8a2d0fab88c30409f25.zip | |
(add_menu_item): Reset menu item text when changing type to radio button.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/w32menu.c | 19 |
2 files changed, 17 insertions, 7 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 87724fc0c3c..4cb63cb61a6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2000-11-28 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * w32menu.c (add_menu_item): Reset menu item text when changing | ||
| 4 | type to radio button. | ||
| 5 | |||
| 1 | 2000-11-28 Gerd Moellmann <gerd@gnu.org> | 6 | 2000-11-28 Gerd Moellmann <gerd@gnu.org> |
| 2 | 7 | ||
| 3 | * xselect.c (wait_for_property_change): Update copyright. | 8 | * xselect.c (wait_for_property_change): Update copyright. |
diff --git a/src/w32menu.c b/src/w32menu.c index f2d97e81536..49052c32308 100644 --- a/src/w32menu.c +++ b/src/w32menu.c | |||
| @@ -45,7 +45,7 @@ Boston, MA 02111-1307, USA. */ | |||
| 45 | #include "dispextern.h" | 45 | #include "dispextern.h" |
| 46 | 46 | ||
| 47 | #undef HAVE_MULTILINGUAL_MENU | 47 | #undef HAVE_MULTILINGUAL_MENU |
| 48 | #undef HAVE_DIALOGS /* NTEMACS_TODO: Implement native dialogs. */ | 48 | #undef HAVE_DIALOGS /* TODO: Implement native dialogs. */ |
| 49 | 49 | ||
| 50 | /******************************************************************/ | 50 | /******************************************************************/ |
| 51 | /* Definitions copied from lwlib.h */ | 51 | /* Definitions copied from lwlib.h */ |
| @@ -2033,7 +2033,10 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item) | |||
| 2033 | int return_value; | 2033 | int return_value; |
| 2034 | 2034 | ||
| 2035 | if (name_is_separator (wv->name)) | 2035 | if (name_is_separator (wv->name)) |
| 2036 | fuFlags = MF_SEPARATOR; | 2036 | { |
| 2037 | fuFlags = MF_SEPARATOR; | ||
| 2038 | out_string = NULL; | ||
| 2039 | } | ||
| 2037 | else | 2040 | else |
| 2038 | { | 2041 | { |
| 2039 | if (wv->enabled) | 2042 | if (wv->enabled) |
| @@ -2057,8 +2060,8 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item) | |||
| 2057 | out_string = LocalAlloc (0, strlen (wv->name) + 1); | 2060 | out_string = LocalAlloc (0, strlen (wv->name) + 1); |
| 2058 | strcpy (out_string, wv->name); | 2061 | strcpy (out_string, wv->name); |
| 2059 | #endif | 2062 | #endif |
| 2060 | /* NTEMACS_TODO: Why has owner drawing stopped working? */ | 2063 | /* TODO: Why has owner-draw stopped working? */ |
| 2061 | fuFlags = /*MF_OWNERDRAW |*/ MF_DISABLED; | 2064 | fuFlags |= /*MF_OWNERDRAW |*/ MF_DISABLED; |
| 2062 | } | 2065 | } |
| 2063 | 2066 | ||
| 2064 | /* Draw radio buttons and tickboxes. */ | 2067 | /* Draw radio buttons and tickboxes. */ |
| @@ -2077,7 +2080,7 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item) | |||
| 2077 | AppendMenu (menu, | 2080 | AppendMenu (menu, |
| 2078 | fuFlags, | 2081 | fuFlags, |
| 2079 | item != NULL ? (UINT) item : (UINT) wv->call_data, | 2082 | item != NULL ? (UINT) item : (UINT) wv->call_data, |
| 2080 | (fuFlags == MF_SEPARATOR) ? NULL: out_string ); | 2083 | out_string ); |
| 2081 | 2084 | ||
| 2082 | /* This must be done after the menu item is created. */ | 2085 | /* This must be done after the menu item is created. */ |
| 2083 | { | 2086 | { |
| @@ -2099,9 +2102,11 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item) | |||
| 2099 | /* CheckMenuRadioItem allows us to differentiate TOGGLE and | 2102 | /* CheckMenuRadioItem allows us to differentiate TOGGLE and |
| 2100 | RADIO items, but is not available on NT 3.51 and earlier. */ | 2103 | RADIO items, but is not available on NT 3.51 and earlier. */ |
| 2101 | info.fMask |= MIIM_TYPE | MIIM_STATE; | 2104 | info.fMask |= MIIM_TYPE | MIIM_STATE; |
| 2102 | info.fType = MFT_RADIOCHECK; | 2105 | info.fType = MFT_RADIOCHECK | MFT_STRING; |
| 2106 | info.dwTypeData = out_string; | ||
| 2103 | info.fState = wv->selected ? MFS_CHECKED : MFS_UNCHECKED; | 2107 | info.fState = wv->selected ? MFS_CHECKED : MFS_UNCHECKED; |
| 2104 | } | 2108 | } |
| 2109 | |||
| 2105 | set_menu_item_info (menu, | 2110 | set_menu_item_info (menu, |
| 2106 | item != NULL ? (UINT) item : (UINT) wv->call_data, | 2111 | item != NULL ? (UINT) item : (UINT) wv->call_data, |
| 2107 | FALSE, &info); | 2112 | FALSE, &info); |
| @@ -2154,7 +2159,7 @@ popup_activated () | |||
| 2154 | void | 2159 | void |
| 2155 | w32_menu_display_help (HMENU menu, UINT item, UINT flags) | 2160 | w32_menu_display_help (HMENU menu, UINT item, UINT flags) |
| 2156 | { | 2161 | { |
| 2157 | int pane = 0; /* NTEMACS_TODO: Set this to pane number. */ | 2162 | int pane = 0; /* TODO: Set this to pane number. */ |
| 2158 | 2163 | ||
| 2159 | HMODULE user32 = GetModuleHandle ("user32.dll"); | 2164 | HMODULE user32 = GetModuleHandle ("user32.dll"); |
| 2160 | FARPROC get_menu_item_info = GetProcAddress (user32, "GetMenuItemInfoA"); | 2165 | FARPROC get_menu_item_info = GetProcAddress (user32, "GetMenuItemInfoA"); |