aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Rumney2000-11-28 20:28:02 +0000
committerJason Rumney2000-11-28 20:28:02 +0000
commit222456a1f066908ac56ea8a2d0fab88c30409f25 (patch)
tree5516f0bf6e3f417cab0b3f751cb920e3e1d09ae6 /src
parent3cbd02d2891253446b91e9cd58a19d755e5c1fe9 (diff)
downloademacs-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/ChangeLog5
-rw-r--r--src/w32menu.c19
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 @@
12000-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
12000-11-28 Gerd Moellmann <gerd@gnu.org> 62000-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 ()
2154void 2159void
2155w32_menu_display_help (HMENU menu, UINT item, UINT flags) 2160w32_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");