masakih

BSIconSetComposer(プロジェクト終了)

  • R/O
  • HTTP
  • SSH
  • HTTPS

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

BathyScapheのアイコンセット生成&適用ツール


ファイル情報

Rev. 6e8cc12f806a8991530cec1b7ebdddcc8223edb7
サイズ 5,327 バイト
日時 2012-06-02 23:23:37
作者 masakih
ログメッセージ

[Mod] versionを1.5.2に更新

内容

//
//  AbstractIconSet.m
//  IconSetComposer
//
//  Created by Hori,Masaki on 05/07/10.
//  Copyright 2005 __MyCompanyName__. All rights reserved.
//

#import "AbstractIconSet.h"
#import "IconSetComposer.h"

#import "IconTray.h"

@implementation AbstractIconSet

-(id)init
{
	if(self = [super init]) {
		plist = [[NSMutableDictionary dictionary] retain];
		iconTrayDict = [[NSMutableDictionary dictionary] retain];
	}
	
	return self;
}

-(void)dealloc
{
	[plist release];
	
	[super dealloc];
}

// do not overwried.
-(void)setImageFilePath:(NSString *)path forKey:(NSString *)key
{
	IconTray *iconTray;
	NSImage *image;
	
	iconTray = [self iconTrayForKey:key];
	if( !iconTray ) {
		NSLog(@"No such key %@", key );
		return;
	}
	
	if( !path ) {
		image = [IconSetComposer defaultImageForIdentifier:key];
	} else {
		image = [[[NSImage alloc] initWithContentsOfFile:path] autorelease];
	}
	
	if( !image ) {
		NSLog(@"%@ is not Image file", path);
		return;
	}
	
//	[iconTray setImage:image];
	
	if( path ) {
		[plist setObject:path forKey:key];
	} else {
		[plist removeObjectForKey:key];
	}
	
	if( delegate 
		&& [delegate respondsToSelector:@selector(iconSet:didChangeImageFilePath:forKey:)] ) {
		[delegate iconSet:self didChangeImageFilePath:path forKey:key];
	}
}
	
	
-(NSString *)imageFilePathForKey:(NSString *)key
{	
	return [plist objectForKey:key];
}
	
-(NSArray *)allKeys
{
	return [plist allKeys];
}

-(void)setImage:(NSImage *)image forKey:(NSString *)key
{
	IconTray *iconTray;
	
	iconTray = [self iconTrayForKey:key];
	if( !iconTray ) {
		NSLog(@"No such key %@", key );
		return;
	}
	
//	[iconTray setImage:image];
}

-(IconTray *)iconTrayForKey:(NSString *)key
{
	return [iconTrayDict objectForKey:key];;
}

-(NSString *)keyForIconTray:(IconTray *)iconTray
{
	return [[iconTrayDict allKeysForObject:iconTray] objectAtIndex:0];
}

-(void)awakeFromNib
{
	[self buildIconTrayDict];
}

// subclass MUST overwride.
-(void)buildIconTrayDict
{
//	[self doesNotRecognizeSelector:_cmd];
}

-(id)plist
{
	return [NSDictionary dictionaryWithDictionary:plist];
}

-(NSView *)view
{
	return view;
}

-(id)description
{
	return [plist description];
}

-(void)setDelegate:(id)inDelegate
{
	delegate = inDelegate;
}
-(id)delegate
{
	return delegate;
}

#pragma mark ## IconTrayDelegate ##
-(BOOL)iconTray:(IconTray *)iconTray willChangeFileOfImage:(NSString *)imagePath
{
	NSString *ext = [imagePath pathExtension];
	
	if( !ext ) return NO;
	
	return [IconSetComposer isAcceptImageExtension:ext];
}
-(void)iconTray:(IconTray *)iconTray didChangeFileOfImage:(NSString *)imagePath
{
	NSString *key = [self keyForIconTray:iconTray];
	
	[self setImageFilePath:imagePath forKey:key];
}

-(void)iconTrayDidRemoveImage:(IconTray *)iconTray
{
	NSString *key = [self keyForIconTray:iconTray];
	
	[self setImageFilePath:nil forKey:key];
}

@end

#pragma mark -

static NSString *const threadIconSetAge = @"age";
static NSString *const threadIconSetSage = @"sage";
static NSString *const threadIconSetMailAttachment = @"mailAttachment";
static NSString *const threadIconSetLastUpdatedHeader = @"lastUpdatedHeader";
static NSString *const threadIconSetEllipsisProxy = @"EllipsisProxy";
static NSString *const threadIconSetEllipsisMouseOver = @"EllipsisMouseOver";
static NSString *const threadIconSetEllipsisMouseDown = @"EllipsisMouseDown";
static NSString *const threadIconSetEllipsisUpProxy = @"EllipsisUpProxy";
static NSString *const threadIconSetEllipsisUpMouseOver = @"EllipsisUpMouseOver";
static NSString *const threadIconSetEllipsisUpMouseDown = @"EllipsisUpMouseDown";
static NSString *const threadIconSetEllipsisDownProxy = @"EllipsisDownProxy";
static NSString *const threadIconSetEllipsisDownMouseOver = @"EllipsisDownMouseOver";
static NSString *const threadIconSetEllipsisDownMouseDown = @"EllipsisDownMouseDown";
static NSString *const threadIconSetTitleRulerBgAquaBlue = @"titleRulerBgAquaBlue";
static NSString *const threadIconSetTitleRulerBgAquaGraphite = @"titleRulerBgAquaGraphite";

@implementation ThreadIconSet
-(void)buildIconTrayDict
{
//	[iconTrayDict setObject:age forKey:threadIconSetAge];
//	[iconTrayDict setObject:sage forKey:threadIconSetSage];
//	[iconTrayDict setObject:mail forKey:threadIconSetMailAttachment];
//	[iconTrayDict setObject:newRes forKey:threadIconSetLastUpdatedHeader];
//	[iconTrayDict setObject:normalEllipsisProxy forKey:threadIconSetEllipsisProxy];
//	[iconTrayDict setObject:mouseOverEllipsisProxy forKey:threadIconSetEllipsisMouseOver];
//	[iconTrayDict setObject:mouseDownEllipsisProxy forKey:threadIconSetEllipsisMouseDown];
//	[iconTrayDict setObject:normalEllipsisUpProxy forKey:threadIconSetEllipsisUpProxy];
//	[iconTrayDict setObject:mouseOverEllipsisUpProxy forKey:threadIconSetEllipsisUpMouseOver];
//	[iconTrayDict setObject:mouseDownEllipsisUpProxy forKey:threadIconSetEllipsisUpMouseDown];
//	[iconTrayDict setObject:normalEllipsisDownProxy forKey:threadIconSetEllipsisDownProxy];
//	[iconTrayDict setObject:mouseOverEllipsisDownProxy forKey:threadIconSetEllipsisDownMouseOver];
//	[iconTrayDict setObject:mouseDownEllipsisDownProxy forKey:threadIconSetEllipsisDownMouseDown];
//	[iconTrayDict setObject:contentHeaderAqua forKey:threadIconSetTitleRulerBgAquaBlue];
//	[iconTrayDict setObject:contentHeaderGraphite forKey:threadIconSetTitleRulerBgAquaGraphite];
}
@end