X-Git-Url: http://git.ithinksw.org/MenuTunes.git/blobdiff_plain/dde16144878c81f06c7da19d7d4432ccd397f3e0..9d8dbcc95c9e3ea959f034d5ddb2edcc71fe1f59:/MTShizzleWindow.m diff --git a/MTShizzleWindow.m b/MTShizzleWindow.m new file mode 100755 index 0000000..b5241c8 --- /dev/null +++ b/MTShizzleWindow.m @@ -0,0 +1,180 @@ +#import "MTShizzleWindow.h" + +@interface MTShizzleWindow (Private) +- (void)setBling:(id)bling; +- (void)buildWindow; +- (void)setTargets; +@end + +@implementation MTShizzleWindow + +static MTShizzleWindow *_privateSharedWindow = nil; + ++ (id)sharedWindowForSender:(id)sender +{ + if( _privateSharedWindow ) { + [_privateSharedWindow setBling:sender]; + return _privateSharedWindow; + } else { + _privateSharedWindow = [[MTShizzleWindow alloc] + initWithContentRect:NSMakeRect(0, 0, 385, 353) + styleMask:NSTitledWindowMask + backing:NSBackingStoreBuffered + defer:YES]; + [_privateSharedWindow setBling:sender]; + return _privateSharedWindow; + } +} + +- (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)styleMask backing:(NSBackingStoreType)backingType defer:(BOOL)flag +{ + if ( (self = [super initWithContentRect:contentRect + styleMask:styleMask + backing:backingType + defer:flag]) ) { + [self buildWindow]; + } + return self; +} + +- (void)dealloc +{ + [regMessage release]; + [regBenefits release]; + [enterInfo release]; + [owner release]; + [key release]; + [ownerEntry release]; + [keyEntry release]; + [registerButton release]; + [regLater release]; + [verifyKey release]; + [contentView release]; + [box release]; + [super dealloc]; +} + +- (void)setBling:(id)bling +{ + _sender = bling; + [self setTargets]; +} + +- (void)buildWindow +{ + unichar returnChar = '\r'; + + [self setReleasedWhenClosed:NO]; + [self setTitle:[NSString stringWithFormat:@"Register %@", @"MenuTunes"]]; + contentView = [self contentView]; + + regMessage = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 282, 345, 51)]; + [regMessage setStringValue:[NSString stringWithFormat:@"%@ is shareware. If you find it to be a valuable tool, please click the button below to buy your copy. Your support is greatly appreciated.", @"MenuTunes"]]; + [regMessage setBordered:NO]; + [regMessage setBezeled:NO]; + [regMessage setEditable:NO]; + [regMessage setSelectable:NO]; + [regMessage setDrawsBackground:NO]; + [contentView addSubview:regMessage]; + + //Make me gray! + box = [[NSBox alloc] initWithFrame:NSMakeRect(20, 181, 345, 81)]; + [box setTitlePosition:NSNoTitle]; + [box setBorderType:NSBezelBorder]; + [contentView addSubview:box]; + + //This isn't tall enough + registerButton = [[NSButton alloc] initWithFrame:NSMakeRect(24, 13, 115, 49)]; + [registerButton setImage:[NSImage imageNamed:@"esellerate"]]; + [registerButton setButtonType:NSMomentaryPushButton]; + [registerButton setBezelStyle:NSRegularSquareBezelStyle]; + [registerButton setTarget:_sender]; + [registerButton setAction:@selector(goToTheStore:)]; + [[box contentView] addSubview:registerButton]; + + regBenefits = [[NSTextField alloc] initWithFrame:NSMakeRect(152, 16, 175, 42)]; + [regBenefits setStringValue:[NSString stringWithUTF8String:"• Register instantly and easily.\n• Fast, secure transaction.\n• Major credit cards accepted."]]; + [regBenefits setBordered:NO]; + [regBenefits setBezeled:NO]; + [regBenefits setEditable:NO]; + [regBenefits setSelectable:NO]; + [regBenefits setDrawsBackground:NO]; + [regBenefits setFont:[NSFont fontWithName:@"Lucida Grande" size:11]]; + [[box contentView] addSubview:regBenefits]; + + enterInfo = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 148, 345, 17)]; + [enterInfo setStringValue:@"Please enter your registration information below."]; + [enterInfo setBordered:NO]; + [enterInfo setBezeled:NO]; + [enterInfo setEditable:NO]; + [enterInfo setSelectable:NO]; + [enterInfo setDrawsBackground:NO]; + [enterInfo setFont:[NSFont fontWithName:@"Lucida Grande" size:13]]; + [contentView addSubview:enterInfo]; + + owner = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 126, 345, 14)]; + [owner setStringValue:@"License Owner:"]; + [owner setBordered:NO]; + [owner setBezeled:NO]; + [owner setEditable:NO]; + [owner setSelectable:NO]; + [owner setDrawsBackground:NO]; + [owner setFont:[NSFont fontWithName:@"Lucida Grande" size:11]]; + [contentView addSubview:owner]; + + key = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 82, 345, 14)]; + [key setStringValue:@"License Key:"]; + [key setBordered:NO]; + [key setBezeled:NO]; + [key setEditable:NO]; + [key setSelectable:NO]; + [key setDrawsBackground:NO]; + [key setFont:[NSFont fontWithName:@"Lucida Grande" size:11]]; + [contentView addSubview:key]; + + ownerEntry = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 104, 345, 22)]; + [ownerEntry setTarget:_sender]; + [ownerEntry setAction:@selector(verifyKey:)]; + [contentView addSubview:ownerEntry]; + + keyEntry = [[NSTextField alloc] initWithFrame:NSMakeRect(20, 60, 345, 22)]; + [keyEntry setTarget:_sender]; + [keyEntry setAction:@selector(verifyKey:)]; + [contentView addSubview:keyEntry]; + + regLater = [[NSButton alloc] initWithFrame:NSMakeRect(138, 16, 116, 25)]; + [regLater setTitle:@"Register Later"]; + [regLater setTarget:_sender]; + [regLater setAction:@selector(registerLater:)]; + [regLater setBezelStyle:NSRoundedBezelStyle]; + [contentView addSubview:regLater]; + + verifyKey = [[NSButton alloc] initWithFrame:NSMakeRect(255, 16, 116, 25)]; + [verifyKey setTitle:@"Verify Key"]; + [verifyKey setTarget:_sender]; + [verifyKey setAction:@selector(verifyKey:)]; + [verifyKey setBezelStyle:NSRoundedBezelStyle]; + [verifyKey setKeyEquivalent:[NSString stringWithCharacters:&returnChar length:1]]; + [contentView addSubview:verifyKey]; +} + +- (void)setTargets +{ + [registerButton setTarget:_sender]; + [ownerEntry setTarget:_sender]; + [keyEntry setTarget:_sender]; + [regLater setTarget:_sender]; + [verifyKey setTarget:_sender]; +} + +- (NSString *)owner +{ + return [ownerEntry stringValue]; +} + +- (NSString *)key +{ + return [keyEntry stringValue]; +} + +@end