// // MPT_FeatureImprover.m // MPT_Features // // Created by Andrew Salamon on 9/26/08. // Copyright 2008 Machine Perception Laboratory, University of California San Diego. All rights reserved. // #import "MPT_FeatureImprover.h" @interface MPT_FeatureImprover(PrivateMethods) @end @implementation MPT_FeatureImprover - (id)initWithBundle:(NSBundle *)_bundle { if( self = [super initWithBundle:_bundle] ) { improver = new mpt::OWF::FeatureImprover( "edu.ucsd.mplab.FeatureImprover", 0 ); ((mpt::OWF::FeatureImprover *)improver)->setEnabled( true ); NSString *labelFile = [[self bundle] pathForResource:@"LabelMap" ofType:@"plist"]; if( [labelFile length] > 0 ) labelMap = [[NSDictionary alloc] initWithContentsOfFile:labelFile]; else labelMap = [[NSDictionary alloc] init]; } return self; } - (void)dealloc { delete improver; [labels release]; [super dealloc]; } - (void)awakeFromNib { } - (id)copyWithZone:(NSZone *)zone { return nil; } - (void)pluginsFinishedLoading:(NSArray *)plugins { } - (NSString *)step { return MPT_PluginStep_Features; } - (NSString *)localizedName { return NSLocalizedStringFromTableInBundle(@"FeatureName", nil, [self bundle], @""); } - (NSString *)internalName { return NSLocalizedStringFromTableInBundle(@"InternalName", nil, [self bundle], @""); } - (void *)processor { return improver; } - (NSString *)featureDataFile { return nil; } - (NSString *)gpriorFile { return nil; } - (void *)gprior { return nil; } - (void *)featuredata { return nil; } - (BOOL)handlesLoading { return NO; } - (BOOL)loadFeatureData:(void *)fd andGPrior:(void *)prior { return NO; } //- (NSColor *)displayColor //{ // return [NSColor blueColor]; //} - (NSView *)prefPane { return nil; } - (BOOL)enabled { return YES; ///< Always on in AFECT 1.0 } //- (void)setEnabled:(BOOL)value //{ // BOOL oldValue = [self enabled]; // if( oldValue != value ) // { // ((mpt::OWF::FeatureImprover *)improver)->setEnabled( value ); // } // [super setEnabled:value]; //} - (NSArray *)labels { return [labelMap allValues]; } - (NSArray *)outputFeatureTypes { return [labelMap allKeys]; } - (NSString *)labelForFeatureType:(NSString *)type { return [labelMap objectForKey:type]; } - (NSColor *)defaultDisplayColor { return [NSColor redColor]; } - (NSColor *)displayColor { // copied from MPT_FeatureBase, because this plugin doesn't inherit from it. NSDictionary *prefs = [[NSUserDefaults standardUserDefaults] dictionaryForKey:[self pluginID]]; NSData *theData = [prefs objectForKey:@"displayColor"]; NSColor *aColor = [self defaultDisplayColor]; if( theData != nil ) aColor =(NSColor *)[NSUnarchiver unarchiveObjectWithData:theData]; return aColor; } @end