def put(self, view, preemptive=True, timeout=0.5): if not RendererManager.any_available_renderer_for_view(view): return view_id = view.id() now = time.time() with self.mutex: if view_id in self.view_entry_mapping: # Too fast, cancel this operation if now - self.last_signaled <= 0.01: return if preemptive: # Cancel pending actions with self.cond: if view_id in self.view_entry_mapping: del self.view_entry_mapping[view_id] self.cond.notify() RendererManager.enqueue_view(view, only_exists=True) self.last_signaled = now else: with self.cond: filename = view.file_name() if view_id not in self.view_entry_mapping: self.view_entry_mapping[view_id] = self.Entry(view, timeout) else: entry = self.view_entry_mapping[view_id] entry.view = view entry.filename = filename entry.timeout = timeout self.cond.notify()
def put(self, view, preemptive=True, timeout=0.5): if not RendererManager.any_available_renderer_for_view(view): return view_id = view.id() now = time.time() with self.mutex: if view_id in self.view_entry_mapping: # Too fast, cancel this operation if now - self.last_signaled <= 0.01: return if preemptive: # Cancel pending actions with self.cond: if view_id in self.view_entry_mapping: del self.view_entry_mapping[view_id] self.cond.notify() RendererManager.enqueue_view(view, only_exists=True) self.last_signaled = now else: with self.cond: filename = view.file_name() if view_id not in self.view_entry_mapping: self.view_entry_mapping[view_id] = self.Entry( view, timeout) else: entry = self.view_entry_mapping[view_id] entry.view = view entry.filename = filename entry.timeout = timeout self.cond.notify()
def on_query_context(self, view, key, operator, operand, match_all): # `omp_is_enabled` for backwards compatibility if key == 'omnimarkup_is_enabled' or key == 'omp_is_enabled': return RendererManager.any_available_renderer_for_view(view) return None
def enqueue_view_to_renderer_manager(self, view, filename): if view.is_loading() or view.file_name() != filename: return if RendererManager.any_available_renderer_for_view(view): RendererManager.enqueue_view(view, only_exists=True) self.last_signaled = time.time()
def is_visible(self): return RendererManager.any_available_renderer_for_view(self.view)
def on_query_context(self, view, key, operator, operand, match_all): # `omp_is_enabled` for backwards compatibility if key == 'omnimarkup_is_enabled' or key == 'omp_is_enabled': return RendererManager.any_available_renderer_for_view(view) return None
def enqueue_view_to_renderer_manager(self, view, filename): if view.is_loading() or view.file_name() != filename: return if RendererManager.any_available_renderer_for_view(view): RendererManager.enqueue_view(view, only_exists=True) self.last_signaled = time.time()
def is_enabled(self): return RendererManager.any_available_renderer_for_view(self.view)