diff options
Diffstat (limited to 'WebKitTools/DrawTest/DrawTestToolbarController.m')
-rw-r--r-- | WebKitTools/DrawTest/DrawTestToolbarController.m | 354 |
1 files changed, 0 insertions, 354 deletions
diff --git a/WebKitTools/DrawTest/DrawTestToolbarController.m b/WebKitTools/DrawTest/DrawTestToolbarController.m deleted file mode 100644 index 9190252..0000000 --- a/WebKitTools/DrawTest/DrawTestToolbarController.m +++ /dev/null @@ -1,354 +0,0 @@ -/* - * Copyright (C) 2005 Apple Computer, Inc. All rights reserved. - * Copyright (C) 2006 Nefaur Khandker <nefaurk@gmail.com> All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#import "DrawTestToolbarController.h" - -enum -{ - ToolbarBrowseToolTag = 0, - ToolbarPanToolTag, - ToolbarZoomToolTag, - - ToolbarPointerToolTag, - ToolbarLineToolTag, - ToolbarRectangleToolTag, - ToolbarElipseToolTag, - ToolbarTriangleToolTag, - ToolbarPolyLineToolTag, - ToolbarArcToolTag, - - ToolbarDeleteSelectionTag, - - ToolbarMoveForwardTag, - ToolbarMoveBackwardTag, - ToolbarMoveToFrontTag, - ToolbarMoveToBackTag, - ToolbarMiscItem -}; - -// Constants -NSString *ToolbarIdentifier = @"Main Document Toolbar"; - -NSString *ToolbarBrowseToolIdentifier = @"Browse"; -NSString *ToolbarPanToolIdentifier = @"Pan"; -NSString *ToolbarZoomToolIdentifier = @"Zoom"; - -NSString *ToolbarPointerToolIdentifier = @"Pointer"; -NSString *ToolbarRectangleToolIdentifier = @"Rectangle"; -NSString *ToolbarElipseToolIdentifier = @"Oval"; -NSString *ToolbarTriangleToolIdentifier = @"Triangle"; -NSString *ToolbarPolyLineToolIdentifier = @"PolyLine"; -NSString *ToolbarArcToolIdentifier = @"Arc"; - -NSString *ToolbarDeleteShapeIdentifier = @"Delete"; -NSString *ToolbarMoveForwardIdentifier = @"Forward"; -NSString *ToolbarMoveBackwardIdentifier = @"Backward"; -NSString *ToolbarMoveToFrontIdentifier = @"Front"; -NSString *ToolbarMoveToBackIdentifier = @"Back"; - -NSString *ToolbarPointerToolImage = @"Toolbar_Pointer"; -NSString *ToolbarRectangleToolImage = @"Toolbar_Rectangle"; -NSString *ToolbarElipseToolImage = @"Toolbar_Oval"; -NSString *ToolbarTriangleToolImage = @"Toolbar_Triangle"; - -NSString *ToolbarDeleteShapeImage = @"Toolbar_Delete"; -NSString *ToolbarMoveForwardImage = @"Toolbar_Forward"; -NSString *ToolbarMoveBackwardImage = @"Toolbar_Backward"; -NSString *ToolbarMoveToFrontImage = @"Toolbar_Front"; -NSString *ToolbarMoveToBackImage = @"Toolbar_Back"; - -@interface DrawTestToolbarController (InternalMethods) -- (void)setupToolbar; -- (void)addToolbarItemWithIdentifier:(NSString *)identifier withImage:(NSString *)image withTag:(int)tag; -- (void)addToolbarItemWithIdentifier:(NSString *)identifier withImage:(NSString *)image; -- (void)addToolbarItem:(NSString *)identifier - withLabel:(NSString *)label - withPaletteLabel:(NSString *)paletteLabel - withImage:(NSString *)imageName - withToolTip:(NSString *)toolTip - withTag:(int)tag; -@end - - -@implementation DrawTestToolbarController - -- (id)initWithDrawView:(WebView *)drawView -{ - if (self = [super init]){ - _drawView = [drawView retain]; - [self setupToolbar]; // could be done lazily. - } - return self; -} - -- (void)dealloc -{ - [_toolbarItems release]; - [super dealloc]; -} - - -- (void)addToolbarItemWithIdentifier:(NSString *)identifier withImage:(NSString *)image withTag:(int)tag -{ - - [self addToolbarItem:identifier - withLabel:identifier - withPaletteLabel:identifier - withImage:image - withToolTip:identifier - withTag:tag]; -} - -- (void)addToolbarItemWithIdentifier:(NSString *)identifier withImage:(NSString *)image -{ - [self addToolbarItemWithIdentifier:identifier withImage:image withTag:ToolbarMiscItem]; -} - -- (void)addToolbarItem:(NSString *)identifier - withLabel:(NSString *)label - withPaletteLabel:(NSString *)paletteLabel - withImage:(NSString *)imageName - withToolTip:(NSString *)toolTip - withTag:(int)tag -{ - NSToolbarItem *item = [[[NSToolbarItem alloc] initWithItemIdentifier:identifier] autorelease]; - - [item setLabel:label]; - [item setPaletteLabel:paletteLabel]; - [item setToolTip:toolTip]; - [item setImage:[NSImage imageNamed:imageName]]; - [item setTarget:self]; - [item setAction:@selector(clickedToolbarItem:)]; - [item setTag:tag]; - - [_toolbarItems setObject:item forKey:identifier]; -} - -- (void)setupToolbar -{ - _toolbarItems = [[NSMutableDictionary alloc] init]; - - [self addToolbarItemWithIdentifier:ToolbarBrowseToolIdentifier - withImage:ToolbarPointerToolImage - withTag:ToolbarBrowseToolTag]; - [[_toolbarItems objectForKey:ToolbarBrowseToolIdentifier] setImage:[[NSCursor pointingHandCursor] image]]; - - [self addToolbarItemWithIdentifier:ToolbarPanToolIdentifier - withImage:ToolbarPointerToolImage - withTag:ToolbarPanToolTag]; - [[_toolbarItems objectForKey:ToolbarPanToolIdentifier] setImage:[[NSCursor openHandCursor] image]]; - - [self addToolbarItemWithIdentifier:ToolbarZoomToolIdentifier - withImage:ToolbarPointerToolImage - withTag:ToolbarZoomToolTag]; - - - [self addToolbarItemWithIdentifier:ToolbarPointerToolIdentifier - withImage:ToolbarPointerToolImage - withTag:ToolbarPointerToolTag]; - - [self addToolbarItemWithIdentifier:ToolbarRectangleToolIdentifier - withImage:ToolbarRectangleToolImage - withTag:ToolbarRectangleToolTag]; - - [self addToolbarItemWithIdentifier:ToolbarElipseToolIdentifier - withImage:ToolbarElipseToolImage - withTag:ToolbarElipseToolTag]; - - [self addToolbarItemWithIdentifier:ToolbarTriangleToolIdentifier - withImage:ToolbarTriangleToolImage - withTag:ToolbarTriangleToolTag]; - - [self addToolbarItemWithIdentifier:ToolbarDeleteShapeIdentifier - withImage:ToolbarDeleteShapeImage - withTag:ToolbarDeleteSelectionTag]; - - [self addToolbarItemWithIdentifier:ToolbarMoveForwardIdentifier - withImage:ToolbarMoveForwardImage - withTag:ToolbarMoveForwardTag]; - - [self addToolbarItemWithIdentifier:ToolbarMoveBackwardIdentifier - withImage:ToolbarMoveBackwardImage - withTag:ToolbarMoveBackwardTag]; - - [self addToolbarItemWithIdentifier:ToolbarMoveToFrontIdentifier - withImage:ToolbarMoveToFrontImage - withTag:ToolbarMoveToFrontTag]; - - [self addToolbarItemWithIdentifier:ToolbarMoveToBackIdentifier - withImage:ToolbarMoveToBackImage - withTag:ToolbarMoveToBackTag]; - - - NSToolbar *toolbar = [[[NSToolbar alloc] initWithIdentifier:ToolbarIdentifier] autorelease]; - - [toolbar setAllowsUserCustomization:YES]; - [toolbar setAutosavesConfiguration:YES]; - [toolbar setDisplayMode:NSToolbarDisplayModeIconAndLabel]; - [toolbar setSizeMode:NSToolbarSizeModeSmall]; - [toolbar setDisplayMode:NSToolbarDisplayModeLabelOnly]; - [toolbar setDelegate:self]; - [toolbar setSelectedItemIdentifier:ToolbarBrowseToolIdentifier]; - [toolbar setVisible:NO]; - - [[_drawView window] setToolbar:toolbar]; -} - - -- (void)clickedToolbarItem:(id)sender -{ - int tag = [sender tag]; - - switch(tag) { -#if 0 - case ToolbarBrowseToolTag: - [_drawView setToolMode:DrawViewToolBrowse]; - break; - case ToolbarPanToolTag: - [_drawView setToolMode:DrawViewToolPan]; - break; - case ToolbarZoomToolTag: - [_drawView setToolMode:DrawViewToolZoom]; - break; - case ToolbarPointerToolTag: - [_drawView setToolMode:DrawViewToolArrow]; - break; - case ToolbarRectangleToolTag: - [_drawView setToolMode:DrawViewToolRectangle]; - break; - case ToolbarElipseToolTag: - [_drawView setToolMode:DrawViewToolElipse]; - break; - case ToolbarTriangleToolTag: - [_drawView setToolMode:DrawViewToolTriangle]; - break; - case ToolbarMoveForwardTag: - [_drawView moveSelectionForward:sender]; - break; - case ToolbarMoveBackwardTag: - [_drawView moveSelectionBackward:sender]; - break; - case ToolbarDeleteSelectionTag: - [_drawView deleteSelection:sender]; - break; -#endif - default: - NSLog(@"Toolbar item: %i not implemented!", tag); - } - - [_drawView setNeedsDisplay:YES]; -} - -// NSToolbar delegate methods -- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdent - willBeInsertedIntoToolbar:(BOOL)willBeInserted -{ - NSToolbarItem * toolbarItem = [_toolbarItems objectForKey:itemIdent]; - - if( toolbarItem == nil ) - toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier:itemIdent] autorelease]; - - return toolbarItem; -} - -- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar -{ - return [NSArray arrayWithObjects: - ToolbarBrowseToolIdentifier, - ToolbarPanToolIdentifier, - ToolbarZoomToolIdentifier, - ToolbarPointerToolIdentifier, - ToolbarRectangleToolIdentifier, - ToolbarElipseToolIdentifier, - ToolbarTriangleToolIdentifier, - ToolbarDeleteShapeIdentifier, - NSToolbarShowColorsItemIdentifier, - ToolbarMoveForwardIdentifier, - ToolbarMoveBackwardIdentifier, - ToolbarMoveToFrontIdentifier, - ToolbarMoveToBackIdentifier, - NSToolbarCustomizeToolbarItemIdentifier, - NSToolbarFlexibleSpaceItemIdentifier, - NSToolbarSpaceItemIdentifier, - NSToolbarSeparatorItemIdentifier, nil]; -} - -- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar -{ - return [NSArray arrayWithObjects: - ToolbarBrowseToolIdentifier, - ToolbarPanToolIdentifier, - //ToolbarZoomToolIdentifier, - NSToolbarFlexibleSpaceItemIdentifier, - ToolbarPointerToolIdentifier, - ToolbarRectangleToolIdentifier, - ToolbarElipseToolIdentifier, - //ToolbarTriangleToolIdentifier, - //NSToolbarSeparatorItemIdentifier, - ToolbarDeleteShapeIdentifier, - //ToolbarMoveForwardIdentifier, - //ToolbarMoveBackwardIdentifier, - //ToolbarMoveToFrontIdentifier, - //ToolbarMoveToBackIdentifier, - NSToolbarSeparatorItemIdentifier, - //NSToolbarShowColorsItemIdentifier, - //NSToolbarFlexibleSpaceItemIdentifier, - NSToolbarCustomizeToolbarItemIdentifier, - nil]; -} - -- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar -{ - return [NSArray arrayWithObjects: - ToolbarBrowseToolIdentifier, - ToolbarPanToolIdentifier, - ToolbarZoomToolIdentifier, - ToolbarPointerToolIdentifier, - ToolbarRectangleToolIdentifier, - ToolbarElipseToolIdentifier, - ToolbarTriangleToolIdentifier, - nil]; -} - -- (BOOL)validateToolbarItem:(NSToolbarItem *)theItem -{ - BOOL enabled = YES; - -#if 0 - switch([theItem tag]) { - case ToolbarMoveForwardTag: - case ToolbarMoveBackwardTag: - case ToolbarMoveToFrontTag: - case ToolbarMoveToBackTag: - case ToolbarDeleteSelectionTag: - enabled = ([[_drawView selectedCanvasItems] count] != 0); - } -#endif - - return enabled; -} - -@end |