def main(**kwargs): # Start the workbench log.info("Workbench starting") workbench = DeclaracadWorkbench() # Make sure ^C keeps working and does a proper shutdown def quit(*args): workbench.invoke_command('enaml.workbench.ui.close_window') signal.signal(signal.SIGINT, quit) # Register plugins workbench.register(DeclaracadManifest()) workbench.register(UIManifest()) workbench.register(ConsoleManifest()) workbench.register(DocsManifest()) workbench.register(ViewerManifest()) workbench.register(EditorManifest()) workbench.register(ToolboxManifest()) workbench.register(CncManifest()) # Run workbench.run() log.info("Workbench stopped")
def start(self): """ Run using the event loop """ log.info("Application starting") with self.loop: self.loop.run_forever()
def start(self): """ Run using the event loop """ log.info("Application starting") self.running = True with self.loop: try: self.loop.run_until_complete(self.main()) except RuntimeError as e: if 'loop stopped' not in str(e): raise
def dump_gl_info(self): # Debug info try: ctx = self.graphics_driver.GetSharedContext() if ctx is None or not ctx.IsValid(): return v1 = ctx.VersionMajor() v2 = ctx.VersionMinor() log.info("OpenGL version: {}.{}".format(v1, v2)) log.info("GPU memory: {}".format(ctx.AvailableMemory())) log.info("GPU memory info: {}".format( ctx.MemoryInfo().ToCString())) log.info("Max MSAA samples: {}".format(ctx.MaxMsaaSamples())) supports_raytracing = ctx.HasRayTracing() log.info("Supports ray tracing: {}".format(supports_raytracing)) if supports_raytracing: log.info("Supports textures: {}".format( ctx.HasRayTracingTextures())) log.info("Supports adaptive sampling: {}".format( ctx.HasRayTracingAdaptiveSampling())) log.info("Supports adaptive sampling atomic: {}".format( ctx.HasRayTracingAdaptiveSamplingAtomic())) else: ver_too_low = ctx.IsGlGreaterEqual(3, 1) if not ver_too_low: log.info("OpenGL version must be >= 3.1") else: ext = "GL_ARB_texture_buffer_object_rgb32" if not ctx.CheckExtension(ext): log.info("OpenGL extension {} is missing".format(ext)) else: log.info("OpenGL glBlitFramebuffer is missing") except Exception as e: log.exception(e)