VocalEasel/Sources/VLSheetWindow.mm

209 lines
5.8 KiB
Plaintext
Raw Normal View History

//
2007-04-27 06:41:34 +00:00
// File: VLSheetWindow.mm - Control lead sheet editing window
//
2007-04-27 06:41:34 +00:00
// Author(s):
//
// (MN) Matthias Neeracher
//
2008-01-29 03:02:25 +00:00
// Copyright © 2005-2008 Matthias Neeracher
//
#import "VLSheetWindow.h"
#import "VLDocument.h"
@implementation VLEditable
- (NSString *) stringValue
{
return @"";
}
- (void) setStringValue:(NSString*)val
{
}
- (BOOL) validValue:(NSString*)val
{
return YES;
}
- (void) moveToNext
{
}
- (void) moveToPrev
{
}
- (void) highlightCursor
{
}
@end
@implementation VLSheetWindow
static NSString* sInputToolbarIdentifier = @"Vocalese Sheet Window Toolbar Identifier";
static NSString* sOutputToolbarItemIdentifier = @"Output Toolbar Item Identifier";
static NSString* sLogToolbarItemIdentifier = @"Log Toolbar Item Identifier";
2006-11-13 04:26:09 +00:00
static NSString* sPlayToolbarItemIdentifier = @"Play Toolbar Item Identifier";
2007-01-02 07:06:56 +00:00
static NSString* sStopToolbarItemIdentifier = @"Stop Toolbar Item Identifier";
2008-05-29 18:54:30 +00:00
static NSString* sFwdToolbarItemIdentifier = @"Fwd Toolbar Item Identifier";
static NSString* sBckToolbarItemIdentifier = @"Rew Toolbar Item Identifier";
static NSString* sToBegToolbarItemIdentifier = @"Begin Toolbar Item Identifier";
static NSString* sToEndToolbarItemIdentifier = @"End Toolbar Item Identifier";
2006-12-02 23:05:12 +00:00
static NSString* sZoomInToolbarItemIdentifier = @"Zoom In Toolbar Item Identifier";
static NSString* sZoomOutToolbarItemIdentifier = @"Zoom Out Toolbar Item Identifier";
static NSString* sProgressToolbarItemIdentifier = @"Progress Toolbar Item Identifier";
static NSString* sDisplayToolbarItemIdentifier = @"Display Toolbar Item Identifier";
- (id)initWithWindow:(NSWindow *)window
{
if (self = [super initWithWindow:window]) {
editTarget = nil;
}
return self;
}
- (VLEditable *)editTarget
{
return editTarget;
}
- (void)setEditTarget:(VLEditable *)editable
{
editTarget = editable;
}
- (void)windowDidLoad
{
NSToolbar *toolbar = [[[NSToolbar alloc] initWithIdentifier: sInputToolbarIdentifier] autorelease];
[toolbar setAllowsUserCustomization: YES];
[toolbar setAutosavesConfiguration: YES];
[toolbar setDelegate: self];
[[self window] setToolbar: toolbar];
}
- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted {
NSToolbarItem * toolbarItem = nil;
id prototype = nil;
if ([itemIdent isEqual: sOutputToolbarItemIdentifier])
prototype = outputToolItem;
else if ([itemIdent isEqual: sLogToolbarItemIdentifier])
prototype = logToolItem;
2006-11-13 04:26:09 +00:00
else if ([itemIdent isEqual: sPlayToolbarItemIdentifier])
prototype = playToolItem;
2007-01-02 07:06:56 +00:00
else if ([itemIdent isEqual: sStopToolbarItemIdentifier])
prototype = stopToolItem;
2008-05-29 18:54:30 +00:00
else if ([itemIdent isEqual: sFwdToolbarItemIdentifier])
prototype = fwdToolItem;
else if ([itemIdent isEqual: sBckToolbarItemIdentifier])
prototype = bckToolItem;
else if ([itemIdent isEqual: sToBegToolbarItemIdentifier])
prototype = tobegToolItem;
else if ([itemIdent isEqual: sToEndToolbarItemIdentifier])
prototype = toendToolItem;
2006-12-02 23:05:12 +00:00
else if ([itemIdent isEqual: sZoomInToolbarItemIdentifier])
prototype = zoomInToolItem;
else if ([itemIdent isEqual: sZoomOutToolbarItemIdentifier])
prototype = zoomOutToolItem;
else if ([itemIdent isEqual: sDisplayToolbarItemIdentifier])
prototype = displayToolItem;
if (prototype) {
toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease];
[toolbarItem setLabel: [prototype title]];
[toolbarItem setPaletteLabel: [prototype alternateTitle]];
[toolbarItem setToolTip: [prototype toolTip]];
[toolbarItem setImage: [prototype image]];
[toolbarItem setTarget: [prototype target]];
[toolbarItem setAction: [prototype action]];
2008-05-29 18:54:30 +00:00
[toolbarItem setTag: [prototype tag]];
} else if ([itemIdent isEqual: sProgressToolbarItemIdentifier]) {
toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease];
[toolbarItem setView: progressToolItem];
} else {
toolbarItem = nil;
}
return toolbarItem;
}
- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) toolbar {
return [NSArray arrayWithObjects:
sOutputToolbarItemIdentifier,
2007-01-02 07:06:56 +00:00
NSToolbarSeparatorItemIdentifier,
2008-05-29 18:54:30 +00:00
sToBegToolbarItemIdentifier,
sBckToolbarItemIdentifier,
2006-11-13 04:26:09 +00:00
sPlayToolbarItemIdentifier,
2007-01-02 07:06:56 +00:00
sStopToolbarItemIdentifier,
2008-05-29 18:54:30 +00:00
sFwdToolbarItemIdentifier,
sToEndToolbarItemIdentifier,
2006-12-02 23:05:12 +00:00
NSToolbarSeparatorItemIdentifier,
sZoomInToolbarItemIdentifier,
sZoomOutToolbarItemIdentifier,
NSToolbarFlexibleSpaceItemIdentifier,
sDisplayToolbarItemIdentifier,
sLogToolbarItemIdentifier,
sProgressToolbarItemIdentifier,
nil];
}
- (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) toolbar {
return [NSArray arrayWithObjects:
2008-05-29 18:54:30 +00:00
sToBegToolbarItemIdentifier,
sBckToolbarItemIdentifier,
2006-11-13 04:26:09 +00:00
sPlayToolbarItemIdentifier,
2007-01-02 07:06:56 +00:00
sStopToolbarItemIdentifier,
2008-05-29 18:54:30 +00:00
sFwdToolbarItemIdentifier,
sToEndToolbarItemIdentifier,
2006-12-02 23:05:12 +00:00
sZoomInToolbarItemIdentifier,
sZoomOutToolbarItemIdentifier,
sOutputToolbarItemIdentifier,
sLogToolbarItemIdentifier,
sDisplayToolbarItemIdentifier,
sProgressToolbarItemIdentifier,
NSToolbarCustomizeToolbarItemIdentifier,
NSToolbarFlexibleSpaceItemIdentifier,
NSToolbarSpaceItemIdentifier,
NSToolbarSeparatorItemIdentifier, nil];
}
- (void) startAnimation
{
[progressToolItem startAnimation:self];
}
- (void) stopAnimation
{
[progressToolItem stopAnimation:self];
}
2008-01-29 03:02:25 +00:00
- (IBAction) zoomIn: (id) sender
{
[sheetView zoomIn:sender];
}
- (IBAction) zoomOut: (id) sender
{
[sheetView zoomOut:sender];
}
- (void) mouseMoved:(NSEvent *)event
{
[sheetView mouseMoved:event];
}
2008-05-29 18:54:30 +00:00
- (void) willPlaySequence:(MusicSequence)music
{
[sheetView willPlaySequence:music];
}
@end