diff --git a/AppKit/CPFontManager.j b/AppKit/CPFontManager.j index e5fcceeeb..ddd39fc19 100644 --- a/AppKit/CPFontManager.j +++ b/AppKit/CPFontManager.j @@ -34,6 +34,14 @@ var CPSharedFontManager = nil, @implementation CPFontManager : CPObject { CPArray _availableFonts; + + id _target @accessors(property=target); + SEL _action @accessors(property=action); + + id _delegate @accessors(property=delegate); + + CPFont _selectedFont; + BOOL _multiple @accessors; } // Getting the Shared Font Manager @@ -59,6 +67,16 @@ var CPSharedFontManager = nil, CPFontManagerFactory = aClass; } +- (id)init +{ + if (self = [super init]) + { + _action = @selector(changeFont:); + } + + return self; +} + /*! Returns an array of the available fonts */ @@ -97,6 +115,24 @@ var CPSharedFontManager = nil, return _CPFontDetectFontAvailable(aFontName); } +- (void)setSelectedFont:(CPFont)aFont isMultiple:(BOOL)aFlag +{ + _selectedFont = aFont; + _isMultiple = aFlag; + + // TODO Notify CPFontPanel when it exists. +} + +- (CPFont)selectedFont +{ + return _selectedFont; +} + +- (BOOL)isMultiple +{ + return _isMultiple; +} + @end var _CPFontDetectSpan, diff --git a/Tests/AppKit/CPFontManagerTest.j b/Tests/AppKit/CPFontManagerTest.j index 013942873..4c1ebac26 100644 --- a/Tests/AppKit/CPFontManagerTest.j +++ b/Tests/AppKit/CPFontManagerTest.j @@ -11,4 +11,18 @@ [self assertTrue:[fonts isKindOfClass:[CPArray class]] message:@"font list returned by availableFonts"]; } +- (void)testSetSelectedFont_isMultiple_ +{ + var fontManager = [CPFontManager sharedFontManager], + fontA = [CPFont systemFontOfSize:5.0]; + + [fontManager setSelectedFont:fontA isMultiple:NO]; + [self assert:[fontManager selectedFont] equals:fontA]; + [self assertFalse:[fontManager isMultiple]]; + + [fontManager setSelectedFont:fontA isMultiple:YES]; + [self assert:[fontManager selectedFont] equals:fontA]; + [self assertTrue:[fontManager isMultiple]]; +} + @end