Is there a way in the IDE or programmatically to set the font color for a checkbox/switch?
I tried in the font dialog box of the IDE but it didn’t change the font to the color selected.
I then tried to do it in code but keep getting error messsages. Here’s my code
on awake from nib theObject
if name of theObject = "cbFileInfo" then
tell button "cbFileInfo" of window "addWin"
set text color to {65535, 65535, 65535}
end tell
end if
end awake from nib
you could do it with a little Objective-C ‘magic’:
add these files to your project:
// MYButtonAdditions.h
#import <Cocoa/Cocoa.h>
@interface NSButton (MYButtonAdditions)
-(void)setTitleRedValue:(int)red greenValue:(int)green blueValue:(int)blue;
@end
// MYButtonAdditions.m
#import "MYButtonAdditions.h"
@implementation NSButton (MYButtonAdditions)
-(void)setTitleRedValue:(int)red greenValue:(int)green blueValue:(int)blue{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSAttributedString *oldTitle = [[[NSAttributedString alloc] init] autorelease];
oldTitle = [self attributedTitle];
NSMutableDictionary *theAttribs = [[[NSMutableDictionary alloc] initWithDictionary:[oldTitle attributesAtIndex:0 effectiveRange:nil]] autorelease];
[theAttribs setObject:[NSColor colorWithCalibratedRed:(float)red/65635.0
green:(float)green/65635.0
blue:(float)blue/65635.0
alpha:1.0]
forKey:@"NSColor"];
NSAttributedString *newTitle = [[[NSAttributedString alloc]
initWithString:[oldTitle string]
attributes:theAttribs] autorelease];
[self setAttributedTitle];
[pool release];
}
then you can set the color from AppleScript with a ‘call method…’:
tell button "button" of window "main"
call method "setTitleRedValue:greenValue:blueValue:" of it with parameters {65635, 22000, 0}
end tell
D.