Esempio n. 1
0
class ZeroCenteredChildGroup(ChildGroup):
    def __init__(self, **kwargs):
        self.zero_centered_items = ZeroCenteredGroup()
        kwargs.setdefault('allow_index_resort', True)
        super(ZeroCenteredChildGroup, self).__init__(**kwargs)
    def get_zero_centered(self, **kwargs):
        child = kwargs.get('child')
        if child is None:
            child_index = kwargs.get('index')
            if child_index is None:
                child_id = kwargs.get('id')
                child = self[child_id]
            else:
                child = self.indexed_items[child_index]
        return self.zero_centered_items.get_zero_centered(child.Index)
    def on_child_Index_changed(self, **kwargs):
        child = kwargs.get('obj')
        old = kwargs.get('old')
        value = kwargs.get('value')
        if old in self.zero_centered_items:
            del self.zero_centered_items[old]
        self.zero_centered_items[value] = child
        super(ZeroCenteredChildGroup, self).on_child_Index_changed(**kwargs)
    def _ChildGroup_on_own_child_update(self, **kwargs):
        child = kwargs.get('obj')
        mode = kwargs.get('mode')
        if mode == 'add':
            self.zero_centered_items[child.Index] = child
        elif mode == 'remove':
            if child.Index in self.zero_centered_items:
                del self.zero_centered_items[child.Index]
        super(ZeroCenteredChildGroup, self)._ChildGroup_on_own_child_update(**kwargs)
Esempio n. 2
0
class ZeroCenteredChildGroup(ChildGroup):
    def __init__(self, **kwargs):
        self.zero_centered_items = ZeroCenteredGroup()
        kwargs.setdefault('allow_index_resort', True)
        super(ZeroCenteredChildGroup, self).__init__(**kwargs)

    def get_zero_centered(self, **kwargs):
        child = kwargs.get('child')
        if child is None:
            child_index = kwargs.get('index')
            if child_index is None:
                child_id = kwargs.get('id')
                child = self[child_id]
            else:
                child = self.indexed_items[child_index]
        return self.zero_centered_items.get_zero_centered(child.Index)

    def on_child_Index_changed(self, **kwargs):
        child = kwargs.get('obj')
        old = kwargs.get('old')
        value = kwargs.get('value')
        if old in self.zero_centered_items:
            del self.zero_centered_items[old]
        self.zero_centered_items[value] = child
        super(ZeroCenteredChildGroup, self).on_child_Index_changed(**kwargs)

    def _ChildGroup_on_own_child_update(self, **kwargs):
        child = kwargs.get('obj')
        mode = kwargs.get('mode')
        if mode == 'add':
            self.zero_centered_items[child.Index] = child
        elif mode == 'remove':
            if child.Index in self.zero_centered_items:
                del self.zero_centered_items[child.Index]
        super(ZeroCenteredChildGroup,
              self)._ChildGroup_on_own_child_update(**kwargs)
Esempio n. 3
0
 def __init__(self, **kwargs):
     self.zero_centered_items = ZeroCenteredGroup()
     kwargs.setdefault('allow_index_resort', True)
     super(ZeroCenteredChildGroup, self).__init__(**kwargs)
Esempio n. 4
0
 def __init__(self, **kwargs):
     self.zero_centered_items = ZeroCenteredGroup()
     kwargs.setdefault('allow_index_resort', True)
     super(ZeroCenteredChildGroup, self).__init__(**kwargs)