def mouseDown_(self, event): # find out if we hit anything p = self.convertPoint_fromView_(event.locationInWindow(), None) for aGraphic in self.graphics(): if aGraphic.hitTest_isSelected_(p, False): break; # aGraphic soll spaeter einen Wert haben, falls es getroffene gibt! else: aGraphic = None # if no graphic hit, then if extending selection do nothing # else set selection to nil if aGraphic is None: if not event.modifierFlags() & NSShiftKeyMask: self.selectionIndexesContainer.setValue_forKeyPath_(None, self.selectionIndexesKeyPath) return # graphic hit # if not extending selection (Shift key down) then set # selection to this graphic # if extending selection, then: # - if graphic in selection remove it # - if not in selection add it graphicIndex = self.graphics().index(aGraphic) if not event.modifierFlags() & NSShiftKeyMask: selection = NSIndexSet.indexSetWithIndex_(graphicIndex) else: if self.selectionIndexes().containsIndex_(graphicIndex): selection = self.selectionIndexes().mutableCopy() selection.removeIndex_(graphicIndex) else: selection = self.selectionIndexes().mutableCopy() selection.addIndex_(graphicIndex) self.selectionIndexesContainer.setValue_forKeyPath_(selection, self.selectionIndexesKeyPath)
def awakeFromNib(self): # we're only using the AMWorkflowView for display self.workflowView.setEditable_(False) # set up the data for NSTableView. We'll store a list of # NSDictonary records each containing some information about the # workflow. We'll display the name of the workflow's file in the # window. # set up an array for storing the table information theWorkflows = NSMutableArray.alloc().initWithCapacity_(20) # retrieve a list of all of the workflows stored in the application's # resourced folder. workflowPaths = NSBundle.mainBundle( ).pathsForResourcesOfType_inDirectory_("workflow", "workflows") # iterate through the paths, adding them to our table information # as we go. for nthWorkflowPath in workflowPaths: wfError = None # convert the path into an URL nthWorkflowURL = NSURL.fileURLWithPath_isDirectory_( nthWorkflowPath, False) # allocate and initialize the workflow nthWorkflow, wfError = AMWorkflow.alloc( ).initWithContentsOfURL_error_(nthWorkflowURL, None) if nthWorkflow: # calculate the file name without path or extension nthFileName = nthWorkflowPath.componentsSeparatedByString_( "/")[-1] nthDisplayName = nthFileName[:-9] # add the workflow to the list theWorkflows.append({ "name": nthDisplayName, "path": nthWorkflowPath, "workflow": nthWorkflow, }) # set the workflows self._.workflows = theWorkflows # if there are any workflows in the list, then select and display the first one */ if len(self._.workflows): self.workflowTable.selectRowIndexes_byExtendingSelection_( NSIndexSet.indexSetWithIndex_(0), False) self.displaySelectedWorkflow()
def awakeFromNib(self): # we're only using the AMWorkflowView for display self.workflowView.setEditable_(False) # set up the data for NSTableView. We'll store a list of # NSDictonary records each containing some information about the # workflow. We'll display the name of the workflow's file in the # window. # set up an array for storing the table information theWorkflows = NSMutableArray.alloc().initWithCapacity_(20) # retrieve a list of all of the workflows stored in the application's # resourced folder. workflowPaths = NSBundle.mainBundle().pathsForResourcesOfType_inDirectory_( "workflow", "workflows") # iterate through the paths, adding them to our table information # as we go. for nthWorkflowPath in workflowPaths: wfError = None # convert the path into an URL nthWorkflowURL = NSURL.fileURLWithPath_isDirectory_(nthWorkflowPath, False) # allocate and initialize the workflow nthWorkflow, wfError = AMWorkflow.alloc().initWithContentsOfURL_error_(nthWorkflowURL, None) if nthWorkflow: # calculate the file name without path or extension nthFileName = nthWorkflowPath.componentsSeparatedByString_("/")[-1] nthDisplayName = nthFileName[:-9] # add the workflow to the list theWorkflows.append(dict( name=nthDisplayName, path=nthWorkflowPath, workflow=nthWorkflow, )) # set the workflows self._.workflows = theWorkflows # if there are any workflows in the list, then select and display the first one */ if len(self._.workflows): self.workflowTable.selectRowIndexes_byExtendingSelection_( NSIndexSet.indexSetWithIndex_(0), False) self.displaySelectedWorkflow()