* Headers/Additions/GNUstepGUI/GSTheme.h: Added method

rightMouseMenu:forEvent: to allow theming of transient and
	context menus.
	* Source/GSThemeMenu.m: Implementation of method 
	rightMouseMenu:forEvent: to allow theming of transient and
	context menus.
	* Source/NSMenu.m: use the theming code implemented above instead
	of rendering the menu directly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30370 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2010-05-12 22:47:10 +00:00
parent fb7e725344
commit 562f545bd3
4 changed files with 32 additions and 6 deletions

View file

@ -1,3 +1,14 @@
2010-05-12 18:48-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Headers/Additions/GNUstepGUI/GSTheme.h: Added method
rightMouseMenu:forEvent: to allow theming of transient and
context menus.
* Source/GSThemeMenu.m: Implementation of method
rightMouseMenu:forEvent: to allow theming of transient and
context menus.
* Source/NSMenu.m: use the theming code implemented above instead
of rendering the menu directly.
2010-05-12 Wolfgang Lux <wolfgang.lux@gmail.com>
* Source/NSWindow.m: Fix a rather long standing incompatibility
@ -49,6 +60,7 @@
Fix bug where some objects from the nib file were not sent an
-awakeFromNib message.
>>>>>>> .r30369
2010-05-11 Fred Kiefer <FredKiefer@gmx.de>
* Headers/Additions/GNUstepGUI/GSTheme.h:

View file

@ -1055,6 +1055,12 @@ withRepeatedImage: (NSImage*)image
*/
- (void) setMenu: (NSMenu *)menu forWindow: (NSWindow *)window;
/**
* Display the context menu when the right mouse button is pressed.
*/
- (void) rightMouseDisplay: (NSMenu *)menu
forEvent: (NSEvent *)theEvent;
/**
* Processes menu events for the theme. The default implementation
* does nothing.

View file

@ -79,6 +79,18 @@
}
}
- (void) rightMouseDisplay: (NSMenu *)menu
forEvent: (NSEvent *)theEvent
{
NSMenuView *mv = [menu menuRepresentation];
if ([mv isHorizontal] == NO)
{
[menu displayTransient];
[mv mouseDown: theEvent];
[menu closeTransient];
}
}
- (void) processCommand: (void *)context
{
// this is only implemented when we handle native menus.

View file

@ -553,12 +553,8 @@ static BOOL menuBarVisible = YES;
- (void) _rightMouseDisplay: (NSEvent*)theEvent
{
if (_menu.horizontal == NO)
{
[self displayTransient];
[_view mouseDown: theEvent];
[self closeTransient];
}
[[GSTheme theme] rightMouseDisplay: self
forEvent: theEvent];
}
@end