Revision: 7446
http://skim-app.svn.sourceforge.net/skim-app/?rev=7446&view=rev
Author: hofman
Date: 2011-08-27 11:33:02 +0000 (Sat, 27 Aug 2011)
Log Message:
-----------
convenience class methods for menuitems, also create submenus implicitly
Modified Paths:
--------------
trunk/NSMenu_SKExtensions.h
trunk/NSMenu_SKExtensions.m
trunk/SKBookmarkController.m
trunk/SKMainToolbarController.m
trunk/SKScriptMenu.m
Modified: trunk/NSMenu_SKExtensions.h
===================================================================
--- trunk/NSMenu_SKExtensions.h 2011-08-26 12:31:07 UTC (rev 7445)
+++ trunk/NSMenu_SKExtensions.h 2011-08-27 11:33:02 UTC (rev 7446)
@@ -52,8 +52,8 @@
- (NSMenuItem *)insertItemWithTitle:(NSString *)aString imageNamed:(NSString
*)anImageName action:(SEL)aSelector target:(id)aTarget tag:(NSInteger)aTag
atIndex:(NSInteger)anIndex;
- (NSMenuItem *)addItemWithTitle:(NSString *)aString imageNamed:(NSString
*)anImageName action:(SEL)aSelector target:(id)aTarget tag:(NSInteger)aTag;
-- (NSMenuItem *)insertItemWithTitle:(NSString *)aString submenu:(NSMenu
*)aSubmenu atIndex:(NSInteger)anIndex;
-- (NSMenuItem *)addItemWithTitle:(NSString *)aString submenu:(NSMenu
*)aSubmenu;
+- (NSMenuItem *)insertItemWithSubmenuAndTitle:(NSString *)aString
atIndex:(NSInteger)anIndex;
+- (NSMenuItem *)addItemWithSubmenuAndTitle:(NSString *)aString;
@end
@@ -66,12 +66,14 @@
@interface NSMenuItem (SKExtensions)
++ (NSMenuItem *)menuItemWithTitle:(NSString *)aString action:(SEL)aSelector
target:(id)aTarget;
++ (NSMenuItem *)menuItemWithTitle:(NSString *)aString action:(SEL)aSelector
target:(id)aTarget tag:(NSInteger)aTag;
+ (NSMenuItem *)menuItemWithSubmenuAndTitle:(NSString *)aString;
- (id)initWithTitle:(NSString *)aString action:(SEL)aSelector
target:(id)aTarget;
- (id)initWithTitle:(NSString *)aString action:(SEL)aSelector
target:(id)aTarget tag:(NSInteger)aTag;
- (id)initWithTitle:(NSString *)aString imageNamed:(NSString *)anImageName
action:(SEL)aSelector target:(id)aTarget tag:(NSInteger)aTag;
-- (id)initWithTitle:(NSString *)aString submenu:(NSMenu *)aSubmenu;
+- (id)initWithSubmenuAndTitle:(NSString *)aString;
- (void)setImageAndSize:(NSImage *)image;
Modified: trunk/NSMenu_SKExtensions.m
===================================================================
--- trunk/NSMenu_SKExtensions.m 2011-08-26 12:31:07 UTC (rev 7445)
+++ trunk/NSMenu_SKExtensions.m 2011-08-27 11:33:02 UTC (rev 7446)
@@ -89,15 +89,15 @@
return [self insertItemWithTitle:aString imageNamed:anImageName
action:aSelector target:aTarget tag:aTag atIndex:[self numberOfItems]];
}
-- (NSMenuItem *)insertItemWithTitle:(NSString *)aString submenu:(NSMenu
*)aSubmenu atIndex:(NSInteger)anIndex {
- NSMenuItem *item = [[NSMenuItem allocWithZone:[self zone]]
initWithTitle:aString submenu:aSubmenu];
+- (NSMenuItem *)insertItemWithSubmenuAndTitle:(NSString *)aString
atIndex:(NSInteger)anIndex {
+ NSMenuItem *item = [[NSMenuItem allocWithZone:[self zone]]
initWithSubmenuAndTitle:aString];
[self insertItem:item atIndex:anIndex];
[item release];
return item;
}
-- (NSMenuItem *)addItemWithTitle:(NSString *)aString submenu:(NSMenu
*)aSubmenu {
- return [self insertItemWithTitle:aString submenu:aSubmenu atIndex:[self
numberOfItems]];
+- (NSMenuItem *)addItemWithSubmenuAndTitle:(NSString *)aString {
+ return [self insertItemWithSubmenuAndTitle:aString atIndex:[self
numberOfItems]];
}
@end
@@ -105,8 +105,16 @@
@implementation NSMenuItem (SKExtensions)
++ (NSMenuItem *)menuItemWithTitle:(NSString *)aString action:(SEL)aSelector
target:(id)aTarget {
+ return [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:aString action:aSelector target:aTarget] autorelease];
+}
+
++ (NSMenuItem *)menuItemWithTitle:(NSString *)aString action:(SEL)aSelector
target:(id)aTarget tag:(NSInteger)aTag {
+ return [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:aString action:aSelector target:aTarget tag:aTag] autorelease];
+}
+
+ (NSMenuItem *)menuItemWithSubmenuAndTitle:(NSString *)aString {
- return [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:aString submenu:[NSMenu menu]] autorelease];
+ return [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithSubmenuAndTitle:aString] autorelease];
}
- (id)initWithTitle:(NSString *)aString action:(SEL)aSelector
target:(id)aTarget {
@@ -128,10 +136,12 @@
return self;
}
-- (id)initWithTitle:(NSString *)aString submenu:(NSMenu *)aSubmenu {
+- (id)initWithSubmenuAndTitle:(NSString *)aString {
self = [self initWithTitle:aString action:NULL keyEquivalent:@""];
if (self) {
- [self setSubmenu:aSubmenu];
+ NSMenu *menu = [[NSMenu allocWithZone:[NSMenu menuZone]]
initWithTitle:aString];
+ [self setSubmenu:menu];
+ [menu release];
}
return self;
}
Modified: trunk/SKBookmarkController.m
===================================================================
--- trunk/SKBookmarkController.m 2011-08-26 12:31:07 UTC (rev 7445)
+++ trunk/SKBookmarkController.m 2011-08-27 11:33:02 UTC (rev 7446)
@@ -422,7 +422,7 @@
for (bm in bookmarks) {
switch ([bm bookmarkType]) {
case SKBookmarkTypeFolder:
- item = [menu addItemWithTitle:[bm label] submenu:[[[NSMenu
allocWithZone:[NSMenu menuZone]] initWithTitle:[bm label]] autorelease]];
+ item = [menu addItemWithSubmenuAndTitle:[bm label]];
[item setRepresentedObject:bm];
[item setImageAndSize:[bm icon]];
[[item submenu] setDelegate:self];
@@ -436,7 +436,7 @@
item = [menu addItemWithTitle:[bm label]
action:@selector(openBookmark:) target:self];
[item setRepresentedObject:bm];
[item setImageAndSize:[bm icon]];
- item = [menu addItemWithTitle:[bm label] submenu:[[[NSMenu
allocWithZone:[NSMenu menuZone]] initWithTitle:[bm label]] autorelease]];
+ item = [menu addItemWithSubmenuAndTitle:[bm label]];
[item setRepresentedObject:bm];
[item setKeyEquivalentModifierMask:NSAlternateKeyMask];
[item setAlternate:YES];
Modified: trunk/SKMainToolbarController.m
===================================================================
--- trunk/SKMainToolbarController.m 2011-08-26 12:31:07 UTC (rev 7445)
+++ trunk/SKMainToolbarController.m 2011-08-27 11:33:02 UTC (rev 7446)
@@ -284,7 +284,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarPageNumberItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Page", @"Menu item title")
action:@selector(doGoToPage:) target:mainController] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Page", @"Menu item title")
action:@selector(doGoToPage:) target:mainController];
[item setLabels:NSLocalizedString(@"Page", @"Toolbar item label")];
[item setToolTip:NSLocalizedString(@"Go To Page", @"Tool tip
message")];
@@ -293,7 +293,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarScaleItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Scale", @"Menu item title")
action:@selector(chooseScale:) target:self] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Scale", @"Menu item title")
action:@selector(chooseScale:) target:self];
[item setLabels:NSLocalizedString(@"Scale", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Scale", @"Tool tip message")];
@@ -302,7 +302,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarZoomActualItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Actual Size", @"Menu item title")
action:@selector(zoomActualPhysical:) target:self] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Actual Size", @"Menu item title")
action:@selector(zoomActualPhysical:) target:self];
[item setLabels:NSLocalizedString(@"Actual Size", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Zoom To Actual Size", @"Tool
tip message")];
@@ -311,7 +311,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarZoomToFitItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Zoom To Fit", @"Menu item title")
action:@selector(doZoomToFit:) target:mainController] autorelease];
+ menuItem = [NSMenuItem menuItemWithTitle:NSLocalizedString(@"Zoom
To Fit", @"Menu item title") action:@selector(doZoomToFit:)
target:mainController];
[item setLabels:NSLocalizedString(@"Zoom To Fit", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Zoom To Fit", @"Tool tip
message")];
@@ -320,7 +320,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarZoomToSelectionItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Zoom To Selection", @"Menu item title")
action:@selector(doZoomToSelection:) target:mainController] autorelease];
+ menuItem = [NSMenuItem menuItemWithTitle:NSLocalizedString(@"Zoom
To Selection", @"Menu item title") action:@selector(doZoomToSelection:)
target:mainController];
[item setLabels:NSLocalizedString(@"Zoom To Selection", @"Toolbar
item label")];
[item setToolTip:NSLocalizedString(@"Zoom To Selection", @"Tool
tip message")];
@@ -359,7 +359,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarRotateRightItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Rotate Right", @"Menu item title")
action:@selector(rotateAllRight:) target:mainController] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Rotate Right", @"Menu item title")
action:@selector(rotateAllRight:) target:mainController];
[item setLabels:NSLocalizedString(@"Rotate Right", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Rotate Right", @"Tool tip
message")];
@@ -368,7 +368,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarRotateLeftItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Rotate Left", @"Menu item title")
action:@selector(rotateAllLeft:) target:mainController] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Rotate Left", @"Menu item title")
action:@selector(rotateAllLeft:) target:mainController];
[item setLabels:NSLocalizedString(@"Rotate Left", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Rotate Left", @"Tool tip
message")];
@@ -389,7 +389,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarCropItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Crop", @"Menu item title")
action:@selector(cropAll:) target:mainController] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Crop", @"Menu item title")
action:@selector(cropAll:) target:mainController];
[item setLabels:NSLocalizedString(@"Crop", @"Toolbar item label")];
[item setToolTip:NSLocalizedString(@"Crop", @"Tool tip message")];
@@ -398,7 +398,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarFullScreenItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Full Screen", @"Menu item title")
action:@selector(enterFullscreen:) target:mainController] autorelease];
+ menuItem = [NSMenuItem menuItemWithTitle:NSLocalizedString(@"Full
Screen", @"Menu item title") action:@selector(enterFullscreen:)
target:mainController];
[item setLabels:NSLocalizedString(@"Full Screen", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Full Screen", @"Tool tip
message")];
@@ -407,7 +407,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarPresentationItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Presentation", @"Menu item title")
action:@selector(enterPresentation:) target:mainController] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Presentation", @"Menu item title")
action:@selector(enterPresentation:) target:mainController];
[item setLabels:NSLocalizedString(@"Presentation", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Presentation", @"Tool tip
message")];
@@ -469,7 +469,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarNewLineItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Add Line", @"Toolbar item label")
action:@selector(createNewNote:) target:mainController tag:SKLineNote]
autorelease];
+ menuItem = [NSMenuItem menuItemWithTitle:NSLocalizedString(@"Add
Line", @"Toolbar item label") action:@selector(createNewNote:)
target:mainController tag:SKLineNote];
[item setLabels:NSLocalizedString(@"Add Line", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Add New Line", @"Tool tip
message")];
@@ -620,7 +620,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarColorsItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Colors", @"Menu item title")
action:@selector(orderFrontColorPanel:) keyEquivalent:@""] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Colors", @"Menu item title")
action:@selector(orderFrontColorPanel:) target:nil];
[item setLabels:NSLocalizedString(@"Colors", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Colors", @"Tool tip
message")];
@@ -629,7 +629,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarFontsItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Fonts", @"Menu item title")
action:@selector(orderFrontFontPanel:) keyEquivalent:@""] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Fonts", @"Menu item title")
action:@selector(orderFrontFontPanel:) target:nil];
[item setLabels:NSLocalizedString(@"Fonts", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Fonts", @"Tool tip message")];
@@ -639,7 +639,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarLinesItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Lines", @"Menu item title")
action:@selector(orderFrontLineInspector:) keyEquivalent:@""] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Lines", @"Menu item title")
action:@selector(orderFrontLineInspector:) target:nil];
[item setLabels:NSLocalizedString(@"Lines", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Lines", @"Tool tip message")];
@@ -648,7 +648,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarInfoItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Info", @"Menu item title")
action:@selector(getInfo:) target:mainController] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Info", @"Menu item title")
action:@selector(getInfo:) target:mainController];
[item setLabels:NSLocalizedString(@"Info", @"Toolbar item label")];
[item setToolTip:NSLocalizedString(@"Get Document Info", @"Tool
tip message")];
@@ -657,7 +657,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarContentsPaneItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Contents Pane", @"Menu item title")
action:@selector(toggleLeftSidePane:) target:mainController] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Contents Pane", @"Menu item title")
action:@selector(toggleLeftSidePane:) target:mainController];
[item setLabels:NSLocalizedString(@"Contents Pane", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Toggle Contents Pane", @"Tool
tip message")];
@@ -666,7 +666,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarNotesPaneItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Notes Pane", @"Menu item title")
action:@selector(toggleRightSidePane:) target:mainController] autorelease];
+ menuItem = [NSMenuItem menuItemWithTitle:NSLocalizedString(@"Notes
Pane", @"Menu item title") action:@selector(toggleRightSidePane:)
target:mainController];
[item setLabels:NSLocalizedString(@"Notes Pane", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Toggle Notes Pane", @"Tool
tip message")];
@@ -675,7 +675,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarPrintItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Print", @"Menu item title")
action:@selector(printDocument:) keyEquivalent:@""] autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Print", @"Menu item title")
action:@selector(printDocument:) target:nil];
[item setLabels:NSLocalizedString(@"Print", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Print Document", @"Tool tip
message")];
@@ -684,7 +684,7 @@
} else if ([identifier
isEqualToString:SKDocumentToolbarCustomizeItemIdentifier]) {
- menuItem = [[[NSMenuItem allocWithZone:[NSMenu menuZone]]
initWithTitle:NSLocalizedString(@"Customize", @"Menu item title")
action:@selector(runToolbarCustomizationPalette:) keyEquivalent:@""]
autorelease];
+ menuItem = [NSMenuItem
menuItemWithTitle:NSLocalizedString(@"Customize", @"Menu item title")
action:@selector(runToolbarCustomizationPalette:) target:nil];
[item setLabels:NSLocalizedString(@"Customize", @"Toolbar item
label")];
[item setToolTip:NSLocalizedString(@"Customize Toolbar", @"Tool
tip message")];
Modified: trunk/SKScriptMenu.m
===================================================================
--- trunk/SKScriptMenu.m 2011-08-26 12:31:07 UTC (rev 7445)
+++ trunk/SKScriptMenu.m 2011-08-27 11:33:02 UTC (rev 7446)
@@ -150,10 +150,8 @@
if (title == nil) {
[menu addItem:[NSMenuItem separatorItem]];
} else if (folderContent) {
- NSMenu *submenu = [[NSMenu allocWithZone:[NSMenu menuZone]]
initWithTitle:title];
- [menu addItemWithTitle:title submenu:submenu];
- [self updateSubmenu:submenu withScripts:folderContent];
- [submenu release];
+ NSMenuItem *item = [menu addItemWithSubmenuAndTitle:title];
+ [self updateSubmenu:[item submenu] withScripts:folderContent];
} else {
NSMenuItem *item = [menu addItemWithTitle:title
action:@selector(executeScript:) target:self];
[item setRepresentedObject:scriptFilename];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit