1//
2//  PXPanelManager.m
3//  Pixen-XCode
4//
5//  Created by Ian Henderson on 25.11.04.
6//  Copyright 2004 Open Sword Group. All rights reserved.
7//
8
9#import "PXPanelManager.h"
10#import "UKFeedbackProvider.h"
11#import "PXColorPaletteController.h"
12#import "PXToolPropertiesController.h"
13
14@implementation PXPanelManager
15
16PXPanelManager *sharedManager = nil;
17
18+ sharedManager
19{
20	if (sharedManager == nil) {
21		sharedManager = [[self alloc] init];
22	}
23	return sharedManager;
24}
25
26- init
27{
28	[super init];
29	sharedManager = self;
30	provider = [[UKFeedbackProvider alloc] init];
31	return self;
32}
33
34- (void)dealloc
35{
36	[provider release];
37	[super dealloc];
38}
39
40- (void)show:panel
41{
42	[panel makeKeyAndOrderFront:self];
43}
44
45- (void)hide:panel
46{
47	[panel performClose:self];
48}
49
50- (void)toggle:panel
51{
52	if ([panel isVisible]) {
53		[self hide:panel];
54	} else {
55		[self show:panel];
56	}
57}
58
59- (NSPanel *)leftToolPropertiesPanel
60{
61	return [[PXToolPropertiesController leftToolPropertiesController] propertiesPanel];
62}
63
64- (NSPanel *)rightToolPropertiesPanel
65{
66	return [[PXToolPropertiesController rightToolPropertiesController] propertiesPanel];
67}
68
69- (NSPanel *)colorPalettePanel
70{
71	return [[PXColorPaletteController sharedPaletteController] palettePanel];
72}
73
74- (IBAction)showFeedback:sender
75{
76	[provider orderFrontFeedbackWindow:self];
77}
78
79- (IBAction)showLeftToolProperties:sender
80{
81	[self show:[self leftToolPropertiesPanel]];
82}
83
84- (IBAction)toggleLeftToolProperties:sender
85{
86	[self toggle:[self leftToolPropertiesPanel]];
87}
88
89- (IBAction)showRightToolProperties:sender
90{
91	[self show:[self rightToolPropertiesPanel]];
92}
93
94- (IBAction)toggleRightToolProperties:sender
95{
96	[self toggle:[self rightToolPropertiesPanel]];
97}
98
99- (IBAction)showColorPalette:sender
100{
101	[self show:[self colorPalettePanel]];
102}
103
104- (IBAction)toggleColorPalette:sender
105{
106	[self toggle:[self colorPalettePanel]];
107}
108
109@end
110