Commit graph

190 commits

Author SHA1 Message Date
theraven
0c9d090532 Don't create a zone in GC mode (detected at run time). This avoids a warning
when starting GUI apps in GC mode, but should have no real effect on
functionality.

Note: this zone seems to have been created for OpenStep compatibility, but then
we don't actually use it anywhere.  The Cocoa docs say that this is 'The zone
from which NSMenu objects should be allocated', but we allocate NSMenu objects
from the default malloc zone.  

Fred: I think the correct thing to do here is probably to just return
NSDefaultMallocZone() from +menuZone in all modes.  Can you take a look and
see?



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33150 72102866-910b-0410-8b05-ffd578937521
2011-05-27 14:08:35 +00:00
fredkiefer
73ae595130 Remove most uses of the method [NSView -removeSubview:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33047 72102866-910b-0410-8b05-ffd578937521
2011-05-15 14:42:08 +00:00
fredkiefer
58df64a56b * Source/NSMenu.m (-_organizeMenu): Move some code around to avoid
a compiler warning.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32890 72102866-910b-0410-8b05-ffd578937521
2011-04-18 22:24:08 +00:00
gcasa
0d33cb856d Add method to ask if the menu should show the icon. In some themes it
is redundant.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32829 72102866-910b-0410-8b05-ffd578937521
2011-04-10 20:14:53 +00:00
fredkiefer
9fcd522c8a Removed dead assignments found by static code analyser.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32551 72102866-910b-0410-8b05-ffd578937521
2011-03-13 15:26:20 +00:00
wlux
046a263ed9 Look up key equivalents in the Services menu only after traversing
rest of the main menu to avoid accidentally shadowing key equivalents
in the application's own menus.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31902 72102866-910b-0410-8b05-ffd578937521
2011-01-17 09:02:30 +00:00
wlux
507a365344 Various fixes for menus in Macintosh interface style (some apply to
Windows95 style as well).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31800 72102866-910b-0410-8b05-ffd578937521
2010-12-30 19:56:03 +00:00
gcasa
74c604cbb0 * Source/GSThemeMenu.m: Added implementation for
updateAllWindowsWithMenu:, updateMenu:forWindow:, altered
	implementation for setMenu:forWindow:, added private method
	_setMenu: to set the current menu on the window.
	* Source/GSWindowDecorationView.m: Changes to layout
	* Source/NSMenu.m: Only call the method updateAllWindowsWithMenu:
	when NSMenuInterfaceStyle = NSWindows95InterfaceStyle.
	* Source/NSMenuView.m: Change to -update so that it does not
	render the top bar of the menu if NSMenuInterfaceStyle =
	NSWindows95InterfaceStyle.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31782 72102866-910b-0410-8b05-ffd578937521
2010-12-27 07:05:38 +00:00
fredkiefer
30240921b4 First batch of corrections based on David's static analysis.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31337 72102866-910b-0410-8b05-ffd578937521
2010-09-12 16:34:22 +00:00
ericwa
82ac6117e8 Replace sel_eq with sel_isEqual
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31285 72102866-910b-0410-8b05-ffd578937521
2010-09-09 23:50:38 +00:00
fredkiefer
745284f91b Add missing #import.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31067 72102866-910b-0410-8b05-ffd578937521
2010-08-02 14:00:24 +00:00
wlux
b623ba6665 While shifting a menu on screen that is partially off screen, correctly
handle the cases where the menu is off screen on the top and the left
side of the screen, respectively. This fixes bug #31415.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31038 72102866-910b-0410-8b05-ffd578937521
2010-07-26 19:16:18 +00:00
dpsimons
1d8f81f716 further refinements to behavior of performKeyEquivalent: methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30828 72102866-910b-0410-8b05-ffd578937521
2010-06-22 22:00:47 +00:00
wlux
fb91a00dd3 Fix previous NSMenu change to ignore shift key except when a function
key is pressed. Change NSButton -performKeyEquivalent: in a similar way.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30720 72102866-910b-0410-8b05-ffd578937521
2010-06-15 03:12:37 +00:00
dpsimons
1f6c867adf Fix menu key equivalents to only trigger when the exact modifiers are held down
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30626 72102866-910b-0410-8b05-ffd578937521
2010-06-08 21:56:15 +00:00
fredkiefer
e64aca8bb2 few compiler warning fixes plus a lot of #import replacement.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30448 72102866-910b-0410-8b05-ffd578937521
2010-05-24 10:48:14 +00:00
gcasa
c78d98f976 * 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
2010-05-12 22:47:10 +00:00
wlux
048e22fe5a Fix a small glitch in the previous commit and make use of the setter
method to initialize the private name attribute of an NSMenu.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30364 72102866-910b-0410-8b05-ffd578937521
2010-05-12 09:15:25 +00:00
wlux
948014105b Add a private name attribute to menus to identify special purpose
menus. Fixes a bug where the services, windows, and recent documents
menu were defunct when loading the menu from a .nib file.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30363 72102866-910b-0410-8b05-ffd578937521
2010-05-12 09:02:25 +00:00
dpsimons
7a815aa384 Only rebuild in-window menus when needed (significant performance improvement)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30232 72102866-910b-0410-8b05-ffd578937521
2010-04-24 17:12:35 +00:00
fredkiefer
9426e71556 Yet another bit of #include -> #import replacement. Replace includes of Foundation.h.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30034 72102866-910b-0410-8b05-ffd578937521
2010-03-25 09:11:50 +00:00
dpsimons
802665ebcc protect changedMessagesEnabled flag; update menus after modal session, key or main window change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29891 72102866-910b-0410-8b05-ffd578937521
2010-03-09 23:11:40 +00:00
ericwa
fd38c0849a * Source/NSMenu.m: Make the background color of NSMenuPanel clear
* Source/GSThemeDrawing.m:
in drawBackgroundForMenuView:withFrame:dirtyRect:horizontal:,
when not using tiles, fill the background of the menu with
the window background color.
Now themes can draw semitransparent menus, and they work properly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29600 72102866-910b-0410-8b05-ffd578937521
2010-02-13 03:24:19 +00:00
gcasa
94ea683223 * Headers/Additions/GNUstepGUI/GSTheme.h: Added new method
declaration for updateAllWindowsWithMenu:
	* Source/GSThemeMenu.m: Added default implementation of 
	updateAllWindowsWithMenu:
	* Source/NSMenu.m: Added call to updateAllWindowsWithMenu: on
	current theme.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29445 72102866-910b-0410-8b05-ffd578937521
2010-01-30 03:11:56 +00:00
gcasa
e65a790956 Correct problem with popups in windows 95 mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29314 72102866-910b-0410-8b05-ffd578937521
2010-01-19 18:48:00 +00:00
fredkiefer
5bc41a34b0 Use YES as default value for AutoenablesItems.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29312 72102866-910b-0410-8b05-ffd578937521
2010-01-19 08:34:24 +00:00
gcasa
51a01681c5 * Source/NSMenu.m: Do not show the menu at the top of the screen in
NSWindows95InterfaceStyle mode. 

	NOTE: This is the first half of the commits for the in-window menu
	changes.  The next change will entail regenerating the menu for each
	window.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29210 72102866-910b-0410-8b05-ffd578937521
2010-01-05 08:37:44 +00:00
rfm
1181b02b98 improve menu loading
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29076 72102866-910b-0410-8b05-ffd578937521
2009-11-28 15:48:59 +00:00
rfm
3837171b94 fix #27344
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28584 72102866-910b-0410-8b05-ffd578937521
2009-09-01 05:58:48 +00:00
fredkiefer
bc94011f82 Get buttons for GSTitleView from NSWindow.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28264 72102866-910b-0410-8b05-ffd578937521
2009-05-01 22:54:11 +00:00
fredkiefer
575463949f And again some more missing localization includes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28017 72102866-910b-0410-8b05-ffd578937521
2009-03-01 19:13:19 +00:00
fredkiefer
fcbcebd6da Improve localization.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28014 72102866-910b-0410-8b05-ffd578937521
2009-03-01 17:42:46 +00:00
fredkiefer
fbe9e215dc Try to better handle Apple menu conversion.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27905 72102866-910b-0410-8b05-ffd578937521
2009-02-17 18:24:44 +00:00
rfm
e5a4ab5b40 keep main menu available when using micrtosoft style
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27692 72102866-910b-0410-8b05-ffd578937521
2009-01-25 18:28:20 +00:00
rfm
0d5c221a7d per-window menu setting tweaks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27686 72102866-910b-0410-8b05-ffd578937521
2009-01-25 13:47:30 +00:00
wlux
966796d4e2 Improve menu item validation by falling back to -validateUserInterfaceItem:
if the validator doesn't respond to -validateMenuItem:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27625 72102866-910b-0410-8b05-ffd578937521
2009-01-18 14:59:24 +00:00
wlux
ef794850a0 Revert NSMenu changes from r27569.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27624 72102866-910b-0410-8b05-ffd578937521
2009-01-18 14:55:57 +00:00
gcasa
4e9cc540e9 * Source/NSMenu.m: Correction to previous change. Update when
setAutoenableItems: value is changed.  Altered update to 
	enable menu items when autoenable is not being performed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27569 72102866-910b-0410-8b05-ffd578937521
2009-01-10 04:03:12 +00:00
gcasa
94d202c31a * Source/NSMenuItemCell.m: encode menu item in encodeWithCoder:
method.
	* Source/NSMenu.m: Add code to handle NSNoAutoenable
	* Source/NSPopUpButtonCell.m: Decode/encode selected index
	* Source/NSPrintInfo.m: Set orientation after the page size is 
	known, since it has no effect when done earlier.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27568 72102866-910b-0410-8b05-ffd578937521
2009-01-10 03:49:43 +00:00
fredkiefer
d638941e57 Add type casts to keep compiler happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27481 72102866-910b-0410-8b05-ffd578937521
2008-12-31 16:49:46 +00:00
gcasa
2d2b5d17e0 * Source/GSNibLoading.m: Read objects/accessibility and oids
maps if we are in a gui builder so that data is accessible.
        * Source/NSActionCell.m: Don't archive target/action if they
        have no values.
        * Source/NSMenu.m: Only archive as "_NSMainMenu" if it has
        no parent and is not owner by a popup.
        * Source/NSPopUpButtonCell.m: Archive the default menu item
        which will show when this popup is displayed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27363 72102866-910b-0410-8b05-ffd578937521
2008-12-21 03:11:08 +00:00
gcasa
661e25c075 * Source/GSNibLoading.m: Added some new methods to address
bug #24985.
	* Source/NSMenu.m: Removed some spaces after a close brace.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27196 72102866-910b-0410-8b05-ffd578937521
2008-12-03 04:52:06 +00:00
fredkiefer
3b4cc1196a In NSMenu compare target for identity not equality.
Decoding and encoding for NSWindowController.
Extend the responder chain of a window beyond itself.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26959 72102866-910b-0410-8b05-ffd578937521
2008-10-24 07:59:42 +00:00
gcasa
03616e71ee * Source/NSMenu.m: Beginning of support for windows style menus on the
top of the window.
	* Source/NSWindow.m: Added code in the method -setFrameFromString: to 
	make certain the window doesn't go out of bounds if the screen size
	changes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26751 72102866-910b-0410-8b05-ffd578937521
2008-07-08 20:17:44 +00:00
fedor
ce41d782c1 Revert library license version to 2 until applications can be converted
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26619 72102866-910b-0410-8b05-ffd578937521
2008-06-10 04:01:49 +00:00
fredkiefer
0cf68500dd Patch by Matt Rice to get popup buttons that support
setUsesItemFromMenu: set to NO.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26036 72102866-910b-0410-8b05-ffd578937521
2008-02-07 19:12:59 +00:00
fredkiefer
fe86875d7e Avoid compiler warnings on Windows.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25985 72102866-910b-0410-8b05-ffd578937521
2008-01-19 21:48:37 +00:00
fredkiefer
8aa94bf96c Add MacOSX methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25785 72102866-910b-0410-8b05-ffd578937521
2007-12-25 14:53:45 +00:00
fredkiefer
e25cceb710 Change all files to use GPL 3 and LGPL 3.
Prepare for next release.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25536 72102866-910b-0410-8b05-ffd578937521
2007-10-29 21:16:17 +00:00
rfm
cc3cafa874 tidyups and minor theme tiling updates.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23871 72102866-910b-0410-8b05-ffd578937521
2006-10-15 08:34:47 +00:00