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