Overview

Protocol for the Event handling parts of the tool API.

The tool can implement all methods that are defined by NSResponder

Tasks

Properties

dragging

Set to YES while the mouse is down and dragging.

@property (nonatomic) BOOL dragging

Discussion

The setter should initialise the drag action. (set dragStart)

groupID

The group ID defines the position of the tool in the toolbar.

@property (nonatomic, readonly) NSUInteger groupID

Discussion

  • selection tools (select, text): 10
  • editTools (draw): 20
  • navigationTools (hand, zoom): 30

tempTrigger

The trigger (key mask) to select the tool temporarily

@property (nonatomic, readonly) NSInteger tempTrigger

Discussion

The select tool is selected with the cmd key. It returns NSCommandKeyMask.

title

The descrition/name of the plugin.

@property (nonatomic, readonly) NSString *title

toolBarIcon

The icon displayed in the toolbar.

@property (nonatomic, readonly) NSImage *toolBarIcon

Instance Methods

activeLayers

returns all layers that arecurrently active. That is mostly used for the ‘Select All Layers’ tool.

- (NSArray *)activeLayers

Return Value

an array of layers

addMenuItemsForEvent:toMenu:

Callback to allow to add something to the contect menu

- (void)addMenuItemsForEvent:(NSEvent *)theEvent toMenu:(NSMenu *)theMenu

Parameters

theEvent

the current event

theMenu

the context menu to add to

copy:

Copy'n'Past Support

- (void)copy:(id)sender

drawBackground

Draw some general things to the background of the edit view.

- (void)drawBackground

drawForeground

Draw some general things to the background of the edit view.

- (void)drawForeground

drawSelection

Draws the active selection. The default is a colored dragg rect.

- (void)drawSelection

modifierChanged:

Informs the receiver that the user has pressed or released a modifier key (Shift, Control, and so on).

- (void)modifierChanged:(NSEvent *)anEvent

Parameters

anEvent

An object encapsulating information about the modifier-key event.

paste:

Copy'n'Past Support

- (void)paste:(id)sender

selectNextSubTool:

if the tool has several sub groups, this is called to swithch to the next tool

- (void)selectNextSubTool:(id)sender

Parameters

sender

the object calling the command

showInfoForSelection

actually show the info for Selection dialog

- (void)showInfoForSelection

Discussion

is only called if canShowInfoForSelection returned YES.

toolbarMenu

Return a NSMenu object that should be displayed if the user presses/holdes the mouse on the icon

- (NSMenu *)toolbarMenu

Return Value

A NSMenu object

willActivate

Is called when the tool is activated.

- (void)willActivate

Discussion

This might happen when the user selects the tool or when the document becomes active

See Also

willDeactivate

Is called when the tool is deactivated.

- (void)willDeactivate

Discussion

This might happen when the user deselects the tool or when the document becomes inactive

See Also

willSelectTempTool:

A callback to let the tool know that a temp tool will be selected (by pressing a modifier key). You can return NO to prevent that.

- (BOOL)willSelectTempTool:(id)TempTool

Parameters

TempTool

the temp tool that is about to become active

Return Value

if you allow it or not