//
//  KSTKPreferenceController.h
//  GumiPrefKit
//
//  Created by Guillaume Rager on Wed Feb 06 2002.
//  Copyright (c) 2001 GumiTech. All rights reserved.
//
//  $Id: KSTKPreferenceController.h,v 1.4 2004/06/28 10:05:10 guigui Exp $


#import <Cocoa/Cocoa.h>


@interface KSTKPreferenceController : NSObject <NSToolbarDelegate>
{
@public	
    IBOutlet NSWindow *window;
	IBOutlet NSView   *prefView;
@private
	NSToolbarItem *showAllToolbarItem;
	NSImage *appImage;
    NSToolbar *toolbar;
    NSMutableDictionary *prefClients;
    NSMutableArray *allPrefClients;
	NSMutableArray *categoryOrderedList;
	NSMutableArray *defaultToolbarItems;
	NSString *currentIdentifier;
    id currentClient;
}


// --- class ---

+ (KSTKPreferenceController*) sharedPreferenceController;

// --- instance ---

- (void) close;
- (void) setTitle:(NSString *)title;

- (id) addPreferenceClient:(NSObject*)prefClient withDefaultToolbarItem:(BOOL)flag;
- (NSArray*) getPrefClientsFromCategory:(NSString*)fromCategoryName;

- (id) getCurrentClient;

- (void) setMainIconImage:(NSImage*)anImage;
- (void) setCategoryOrder:(NSArray*)aCategoryOrderedList;

// --- actions ---

- (IBAction) showPreferencesPanel:(id)sender;
- (IBAction) showPreferencesPanelWithClient:(id)aClient;
- (IBAction) setCurrentClientFromToolbarItem:(id)sender;
- (IBAction) applyPreferences:(id)sender;
- (void) iconbarItemActivated:(id)sender;
@end

