summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs>2004-05-03 23:23:14 (GMT)
committerhobbs <hobbs>2004-05-03 23:23:14 (GMT)
commitd29e8db2badac2db52e78d1726b1cd2f105e64e6 (patch)
tree53a81f709c7d3ddc663ae9f0b9eaa5b2ac1262fa
parente7513a24faa053ccefd16199f1faa3e459c9eb16 (diff)
downloadtk-d29e8db2badac2db52e78d1726b1cd2f105e64e6.zip
tk-d29e8db2badac2db52e78d1726b1cd2f105e64e6.tar.gz
tk-d29e8db2badac2db52e78d1726b1cd2f105e64e6.tar.bz2
* win/tkWinMenu.c, unix/tkUnixMenu.c (DrawMenuEntryLabel): place
images of compound menu entries in indicator space if not a radio of checkbutton. [Bug #756952] (eserte)
-rw-r--r--ChangeLog4
-rw-r--r--unix/tkUnixMenu.c15
-rw-r--r--win/tkWinMenu.c28
3 files changed, 30 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 3631f72..bc0d81e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2004-05-03 Jeff Hobbs <jeffh@ActiveState.com>
+ * win/tkWinMenu.c, unix/tkUnixMenu.c (DrawMenuEntryLabel): place
+ images of compound menu entries in indicator space if not a radio
+ of checkbutton. [Bug #756952] (eserte)
+
* win/tkWinX.c: fix drawing of unicode chars in menu
* win/tkWinInt.h (TkWinProcs): titles. [Bug #904371] (riefenstahl)
* win/tkWinMenu.c (ReconfigureWindowsMenu):
diff --git a/unix/tkUnixMenu.c b/unix/tkUnixMenu.c
index 1e6a682..c96dd9b 100644
--- a/unix/tkUnixMenu.c
+++ b/unix/tkUnixMenu.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkUnixMenu.c,v 1.9 2003/08/14 12:30:11 dkf Exp $
+ * RCS: @(#) $Id: tkUnixMenu.c,v 1.10 2004/05/03 23:23:14 hobbs Exp $
*/
#include "tkPort.h"
@@ -763,10 +763,23 @@ DrawMenuEntryLabel(menuPtr, mePtr, d, gc, tkfont, fmPtr, x, y, width, height)
break;
}
case COMPOUND_LEFT: {
+ /*
+ * Position image in the indicator space to the left of the
+ * entries, unless this entry is a radio|check button because
+ * then the indicator space will be used.
+ */
textXOffset = imageWidth + 2;
textYOffset = 0;
imageXOffset = 0;
imageYOffset = 0;
+ if ((mePtr->type != CHECK_BUTTON_ENTRY)
+ && (mePtr->type != RADIO_BUTTON_ENTRY)) {
+ textXOffset -= indicatorSpace;
+ if (textXOffset < 0) {
+ textXOffset = 0;
+ }
+ imageXOffset = -indicatorSpace;
+ }
break;
}
case COMPOUND_RIGHT: {
diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c
index 69f8eb7..203389e 100644
--- a/win/tkWinMenu.c
+++ b/win/tkWinMenu.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkWinMenu.c,v 1.32 2004/05/03 22:40:30 hobbs Exp $
+ * RCS: @(#) $Id: tkWinMenu.c,v 1.33 2004/05/03 23:23:14 hobbs Exp $
*/
#define OEMRESOURCE
@@ -2116,26 +2116,22 @@ DrawMenuEntryLabel(
}
case COMPOUND_LEFT: {
/*
- * The standard image position on Windows is
- * in the indicator space to the left of
- * the entries. Of course if this entry is
- * a radio/check button, we can't do that
- * because the indicator space will be used.
+ * The standard image position on Windows is in the indicator
+ * space to the left of the entries, unless this entry is a
+ * radio|check button because then the indicator space will
+ * be used.
*/
- if ((mePtr->type == CHECK_BUTTON_ENTRY)
- || (mePtr->type == RADIO_BUTTON_ENTRY)) {
- textXOffset = imageWidth + 2;
- textYOffset = 0;
- imageXOffset = 0;
- imageYOffset = 0;
- } else {
- textXOffset = imageWidth + 2 - indicatorSpace;
+ textXOffset = imageWidth + 2;
+ textYOffset = 0;
+ imageXOffset = 0;
+ imageYOffset = 0;
+ if ((mePtr->type != CHECK_BUTTON_ENTRY)
+ && (mePtr->type != RADIO_BUTTON_ENTRY)) {
+ textXOffset -= indicatorSpace;
if (textXOffset < 0) {
textXOffset = 0;
}
- textYOffset = 0;
imageXOffset = -indicatorSpace;
- imageYOffset = 0;
}
break;
}