William Bowling is sharing code with you

Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.

Don't show this again

wbowling / adium (fork of adium / adium)

Fork of Adium for patches/improvements

Clone this repository (size: 338.7 MB): HTTPS / SSH
hg clone https://bitbucket.org/wbowling/adium
hg clone ssh://hg@bitbucket.org/wbowling/adium

adium / Source / AIContactInfoContentController.m

//
//  AIContactInfoContentController.m
//  Adium
//
//  Created by Elliott Harris on 1/13/08.
//  Copyright 2008 Adium. All rights reserved.
//

#import "AIContactInfoContentController.h"

@interface AIContactInfoContentController ()
-(void)_setLoadedPanes:(NSArray *)anArray;
@end

@implementation AIContactInfoContentController

+ (AIContactInfoContentController *)defaultInfoContentController
{
        return [[[self alloc] initWithContentPanes:[self defaultPanes]] autorelease];
}

- (id)initWithContentPanes:(NSArray *)panes
{
        if ((self = [self init])) {
                [self loadContentPanes:panes];
        }

        return self;
}

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

+(NSArray *)defaultPanes
{
        return [NSArray arrayWithObjects:@"AIInfoInspectorPane", @"AIAddressBookInspectorPane", @"AIEventsInspectorPane",
                        @"AIAdvancedInspectorPane", nil];
}

-(NSArray *)loadedPanes
{
        return loadedPanes;
}

-(void)_setLoadedPanes:(NSArray *)newPanes
{
        if (loadedPanes != newPanes)
        {
                [loadedPanes release];
                loadedPanes = [newPanes retain];
        }
}

-(void)loadContentPanes:(NSArray *)contentPanes
{
        NSMutableArray *contentArray = [NSMutableArray array];
        //Allocate and initalize each class, then stick it in the array.
        id currentPane = nil;
        
        for(currentPane in contentPanes) {
                Class paneClass = nil;
                if(!(paneClass = NSClassFromString(currentPane))) {
                        AILogWithSignature(@"Warning: Could not obtain a class for %@", currentPane);
                        return;
                }
                
                [contentArray addObject:[[[paneClass alloc] init] autorelease]];
        }

        [self _setLoadedPanes:contentArray];
}

-(IBAction)segmentSelected:(id)sender
{
#warning Needs implementation
}

@end