def outlineView_child_ofItem_(self, outlineView, itemIndex, item):
        """ NSOutlineViewDataSource method for layer view 

outlineView_child_ofItem_(outlineView, itemIndex, item)
        """
        _item = Globals.unwrap(item)
        if _item is None:
            return Globals.wrap(self.document().getImage().getTopLayer())
        _children = _item.getSublayers()
        return Globals.wrap(_children[itemIndex])
    def outlineView_child_ofItem_(self, outlineView, itemIndex, item):
        """ NSOutlineViewDataSource method for layer view 

outlineView_child_ofItem_(outlineView, itemIndex, item)
        """
        _item = Globals.unwrap(item)
        if _item is None:
            return Globals.wrap(self.document().getImage().getTopLayer())
        _children = _item.getSublayers()
        return Globals.wrap(_children[itemIndex])
 def outlineViewItemDidCollapse_(self, note):
     _doc = self.document()
     _active_layer = _doc.getImage().getActiveLayer()
     _ov = note.object()
     _row = _ov.rowForItem_(Globals.wrap(_active_layer))
     if -1 == _row:
         _item = note.userInfo()["NSObject"]
         _row = _ov.rowForItem_(_item)
         _ov.selectRow_byExtendingSelection_(_row, False)
 def outlineViewItemDidCollapse_(self, note):
     _doc = self.document()
     _active_layer = _doc.getImage().getActiveLayer()
     _ov = note.object()
     _row = _ov.rowForItem_(Globals.wrap(_active_layer))
     if -1 == _row:
         _item = note.userInfo()["NSObject"]
         _row = _ov.rowForItem_(_item)
         _ov.selectRow_byExtendingSelection_(_row, False)
    def layerChanged_(self, note):
        _doc = self.document()
        _doc.getDA().setNeedsDisplay_(True)
        _dict = note.userInfo()
        _parent = Globals.wrap(_dict["parent"])
        _ov = _doc.getOutlineView()
        _image = _doc.getImage()
        _l = _activeLayer = _image.getActiveLayer()
#        _ov.reloadItem_reloadChildren_(_parent, True)
        _ov.reloadData()
        _topLayer = _image.getTopLayer()
        _stack = []
        while _l is not _topLayer:
            _l = _l.getParentLayer()
            _stack.append(_l)
        while len(_stack):
            _item = Globals.wrap(_stack.pop())
            _ov.expandItem_(_item)
        _al = Globals.wrap(_activeLayer)
        _row = _ov.rowForItem_(_al)
        _ov.selectRow_byExtendingSelection_(_row, False)
 def layerChanged_(self, note):
     _doc = self.document()
     _doc.getDA().setNeedsDisplay_(True)
     _dict = note.userInfo()
     _parent = Globals.wrap(_dict["parent"])
     _ov = _doc.getOutlineView()
     _image = _doc.getImage()
     _l = _activeLayer = _image.getActiveLayer()
     #        _ov.reloadItem_reloadChildren_(_parent, True)
     _ov.reloadData()
     _topLayer = _image.getTopLayer()
     _stack = []
     while _l is not _topLayer:
         _l = _l.getParentLayer()
         _stack.append(_l)
     while len(_stack):
         _item = Globals.wrap(_stack.pop())
         _ov.expandItem_(_item)
     _al = Globals.wrap(_activeLayer)
     _row = _ov.rowForItem_(_al)
     _ov.selectRow_byExtendingSelection_(_row, False)
 def removed_child_event(self, obj, *args):
     """ Notification of deletion of a layer.  object is Image object,
     userinfo dict stores layer under key "layer", parent layer under
     key "parent"
     """
     _nq = NSNotificationQueue.defaultQueue()
     if len(args) != 2:
         raise ValueError, "Invalid number of items in deleted_layer_event"
     _info = {"layer" : args[0], "parent" : args[0].getParent()}
     _obj = Globals.wrap(obj)
     _note = NSNotification.notificationWithName_object_userInfo_(Globals.LayerDeletedNotification, _obj, _info)
     _nq.enqueueNotification_postingStyle_coalesceMask_forModes_(_note, NSPostASAP, NSNotificationNoCoalescing, None)
 def deleted_object_event(self, obj, *args):
     """ Notification of point, line, etc. removed from a layer.
     object is Image object, userinfo dict stores object
     under key "item", layer it was removed from under "layer"
     """
     _nq = NSNotificationQueue.defaultQueue()
     if len(args) != 2:
         raise ValueError, "Invalid number of items in deleted_object_event"
     _info = {"layer" : args[0], "item": args[1]}
     _obj = Globals.wrap(obj)
     _note = NSNotification.notificationWithName_object_userInfo_("deleted_object", _obj, _info)
     _nq.enqueueNotification_postingStyle_coalesceMask_forModes_(_note, NSPostASAP, NSNotificationNoCoalescing, None)
Exemple #9
0
 def added_child_event(self, obj, *args):
     """ Notification of new layer added to drawing.
     object is Image object, userinfo dict stores new layer
     under key "layer", parent layer under key "parent"
     """
     _nq = NSNotificationQueue.defaultQueue()
     if len(args) != 2:
         raise ValueError, "Invalid number of new items in added_layer_event"
     _info = {"layer": args[0], "parent": args[0].getParent()}
     _obj = Globals.wrap(obj)
     _note = NSNotification.notificationWithName_object_userInfo_(
         Globals.LayerAddedNotification, _obj, _info)
     _nq.enqueueNotification_postingStyle_coalesceMask_forModes_(
         _note, NSPostASAP, NSNotificationNoCoalescing, None)
Exemple #10
0
 def deleted_object_event(self, obj, *args):
     """ Notification of point, line, etc. removed from a layer.
     object is Image object, userinfo dict stores object
     under key "item", layer it was removed from under "layer"
     """
     _nq = NSNotificationQueue.defaultQueue()
     if len(args) != 2:
         raise ValueError, "Invalid number of items in deleted_object_event"
     _info = {"layer": args[0], "item": args[1]}
     _obj = Globals.wrap(obj)
     _note = NSNotification.notificationWithName_object_userInfo_(
         "deleted_object", _obj, _info)
     _nq.enqueueNotification_postingStyle_coalesceMask_forModes_(
         _note, NSPostASAP, NSNotificationNoCoalescing, None)
 def windowDidLoad(self):
     _doc = self.document()
     _sv = _doc.getSplitView()
     _ov = _doc.getOutlineView()
     _text = _doc.getEntry()
     _win = self.window()
     _text.setDelegate_(self)
     _sv.setDelegate_(self)
     _win.setDelegate_(self)
     _win.setFrameUsingName_(WinFrameName)
     _ov.setDataSource_(self)
     _ov.setDelegate_(self)
     _ov.sizeLastColumnToFit()
     _ov.setAutoresizesOutlineColumn_(True)
     _da = _doc.getDA()
     _scrv = _da.enclosingScrollView()
     _scrvSize = _scrv.contentSize()
     _scrv.setCopiesOnScroll_(False)
     _da.setFrameSize_(_scrvSize)
     #
     # ensure selected layer is active
     #
     _item = _ov.itemAtRow_(0)
     _ov.expandItem_expandChildren_(_item, True)
     _endRow = _ov.numberOfRows() - 1
     _ov.selectRow_byExtendingSelection_(_endRow, False)
     _ov.selectRow_byExtendingSelection_(0, False)
     #
     # Register for notifications of changes to the document
     #
     _img = _doc.getImage()
     _obj = Globals.wrap(_img)
     _nc = NSNotificationCenter.defaultCenter()
     _nc.addObserver_selector_name_object_(self, "layerChanged:",
                                           LayerAddedNotification, _obj)
     _nc.addObserver_selector_name_object_(self, "layerChanged:",
                                           LayerDeletedNotification, _obj)
     _nc.addObserver_selector_name_object_(self, "toolChanged:",
                                           ToolChangedNotification, _doc)
 def windowDidLoad(self):
     _doc = self.document()
     _sv = _doc.getSplitView()
     _ov = _doc.getOutlineView()
     _text = _doc.getEntry()
     _win = self.window()
     _text.setDelegate_(self)
     _sv.setDelegate_(self)
     _win.setDelegate_(self)
     _win.setFrameUsingName_(WinFrameName)
     _ov.setDataSource_(self)
     _ov.setDelegate_(self)
     _ov.sizeLastColumnToFit()
     _ov.setAutoresizesOutlineColumn_(True)
     _da = _doc.getDA()
     _scrv = _da.enclosingScrollView()
     _scrvSize = _scrv.contentSize()
     _scrv.setCopiesOnScroll_(False)
     _da.setFrameSize_(_scrvSize)
     #
     # ensure selected layer is active
     #
     _item = _ov.itemAtRow_(0)
     _ov.expandItem_expandChildren_(_item, True)
     _endRow = _ov.numberOfRows() - 1
     _ov.selectRow_byExtendingSelection_(_endRow, False)
     _ov.selectRow_byExtendingSelection_(0, False)
     #
     # Register for notifications of changes to the document
     #
     _img = _doc.getImage()
     _obj = Globals.wrap(_img)
     _nc = NSNotificationCenter.defaultCenter()
     _nc.addObserver_selector_name_object_(self, "layerChanged:", LayerAddedNotification, _obj)
     _nc.addObserver_selector_name_object_(self, "layerChanged:", LayerDeletedNotification, _obj)
     _nc.addObserver_selector_name_object_(self, "toolChanged:", ToolChangedNotification, _doc)