class OptimizedControlSurface(ControlSurface):
    """
    Control Surface that makes use of the optimized ownership handler for controls.
    """
    def __init__(self, *a, **k):
        super(OptimizedControlSurface, self).__init__(*a, **k)
        self._optimized_ownership_handler = OptimizedOwnershipHandler()
        injecting = inject(
            element_ownership_handler=const(self._optimized_ownership_handler))
        self._ownership_handler_injector = injecting.everywhere()

    @contextmanager
    def component_guard(self):
        with super(OptimizedControlSurface, self).component_guard():
            with self._ownership_handler_injector:
                yield
                self._optimized_ownership_handler.commit_ownership_changes()
class OptimizedControlSurface(ControlSurface):
    """
    Control Surface that makes use of the optimized ownership handler for controls.
    """

    def __init__(self, *a, **k):
        super(OptimizedControlSurface, self).__init__(*a, **k)
        self._optimized_ownership_handler = OptimizedOwnershipHandler()
        injecting = inject(element_ownership_handler=const(self._optimized_ownership_handler))
        self._ownership_handler_injector = injecting.everywhere()

    @contextmanager
    def component_guard(self):
        with super(OptimizedControlSurface, self).component_guard():
            with self._ownership_handler_injector:
                yield
                self._optimized_ownership_handler.commit_ownership_changes()
 def __init__(self, *a, **k):
     super(OptimizedControlSurface, self).__init__(*a, **k)
     self._optimized_ownership_handler = OptimizedOwnershipHandler()
     injecting = inject(
         element_ownership_handler=const(self._optimized_ownership_handler))
     self._ownership_handler_injector = injecting.everywhere()
 def __init__(self, *a, **k):
     super(OptimizedControlSurface, self).__init__(*a, **k)
     self._optimized_ownership_handler = OptimizedOwnershipHandler()
     injecting = inject(element_ownership_handler=const(self._optimized_ownership_handler))
     self._ownership_handler_injector = injecting.everywhere()