Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Branch: master
Fetching contributors…

Cannot retrieve contributors at this time

178 lines (139 sloc) 4.469 kB
/*
Platypus - program for creating Mac OS X application wrappers around scripts
Copyright (C) 2008 Sveinbjorn Thordarson <sveinbjornt@simnet.is>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "TextSettingsController.h"
@implementation TextSettingsController
- (void)awakeFromNib
{
[[NSFontManager sharedFontManager] setDelegate: self];
[self setCurrentFont: [[NSFont fontWithName:@"Monaco" size: 10.0] retain]];
}
-(void)dealloc
{
if (currentFont != NULL) { [currentFont release]; }
[super dealloc];
}
- (IBAction)show:(id)sender
{
[window setTitle: @"Platypus - Edit Text Field Settings"];
//open window
[NSApp beginSheet: textSettingsWindow
modalForWindow: window
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
[textSettingsWindow makeFirstResponder: textSettingsWindow];
[NSApp runModalForWindow: textSettingsWindow];
[NSApp endSheet: textSettingsWindow];
[textSettingsWindow orderOut:self];
}
- (IBAction)apply:(id)sender
{
[[[NSFontManager sharedFontManager] fontPanel: NO] orderOut: self];
[[NSColorPanel sharedColorPanel] orderOut: self];
[window setTitle: @"Platypus"];
[NSApp stopModal];
}
- (IBAction)resetDefaults:(id)sender
{
[foregroundColorWell setColor: [NSColor blackColor]];
[backgroundColorWell setColor: [NSColor whiteColor]];
[self setCurrentFont: [NSFont fontWithName: @"Monaco" size: 10.0]];
[textEncodingPopupButton selectItemAtIndex: 0];
[self changeColor: self];
}
- (void)changeColor:(id)sender
{
[textPreviewTextView setBackgroundColor: [backgroundColorWell color]];
[textPreviewTextView setTextColor: [foregroundColorWell color]];
}
#pragma mark -
////////////////////////////////////////////////////////////////////////
//
// Functions to handle the font selection manager
//
////////////////////////////////////////////////////////////////////////
- (IBAction)chooseFont:(id)sender
{
//[textSettingsWindow makeFirstResponder: textEncodingPopupButton];
NSFontManager *fontManager = [NSFontManager sharedFontManager];
[fontManager setSelectedFont:currentFont isMultiple:NO];
[fontManager orderFrontFontPanel:nil];
}
- (void)setCurrentFont:(NSFont *)font
{
NSFont *newFont = [font retain];
[currentFont release];
currentFont = newFont;
[self updateFontField];
}
// called by the shared NSFontManager when user chooses a new font or size in the Font Panel
- (void)changeFont:(id)sender
{
//[textSettingsWindow makeFirstResponder: textEncodingPopupButton];
NSFontManager *fontManager = [NSFontManager sharedFontManager];
[self setCurrentFont:[fontManager convertFont:[fontManager selectedFont]]];
NSLog(@"Font changin");
}
- (void)updateFontField
{
[fontFaceTextField setStringValue: [NSString stringWithFormat:@"%@ %.0f", [currentFont fontName], [currentFont pointSize]]];
[textPreviewTextView setFont: currentFont];
}
#pragma mark -
//////////////////////////////////
- (int)getTextEncoding
{
return [[textEncodingPopupButton selectedItem] tag];
}
- (NSFont *)getTextFont
{
return [textPreviewTextView font];
}
- (NSColor *)getTextForeground
{
return [foregroundColorWell color];
}
- (NSColor *)getTextBackground
{
return [backgroundColorWell color];
}
//////////////////////////////////
- (void)setTextEncoding: (int)encoding
{
[textEncodingPopupButton selectItemWithTag: encoding];
}
- (void)setTextFont: (NSFont *)font
{
[self setCurrentFont: font];
}
- (void )setTextForeground: (NSColor *)color
{
[foregroundColorWell setColor: color];
[self changeColor: self];
}
- (void )setTextBackground: (NSColor *)color
{
[backgroundColorWell setColor: color];
[self changeColor: self];
}
#pragma mark -
- (BOOL)validateMenuItem:(NSMenuItem*)anItem
{
if ([textSettingsButton isEnabled])
return YES;
return NO;
}
@end
Jump to Line
Something went wrong with that request. Please try again.