def registerObjects(self, engine): engine.rootContext().setContextProperty("Printer", self) engine.rootContext().setContextProperty("CuraApplication", self) self._print_information = PrintInformation.PrintInformation() engine.rootContext().setContextProperty("PrintInformation", self._print_information) self._cura_actions = CuraActions.CuraActions(self) engine.rootContext().setContextProperty("CuraActions", self._cura_actions) qmlRegisterUncreatableType(CuraApplication, "Cura", 1, 0, "ResourceTypes", "Just an Enum type") qmlRegisterType(cura.Settings.ExtrudersModel, "Cura", 1, 0, "ExtrudersModel") qmlRegisterType(cura.Settings.ContainerSettingsModel, "Cura", 1, 0, "ContainerSettingsModel") qmlRegisterType(cura.Settings.MaterialSettingsVisibilityHandler, "Cura", 1, 0, "MaterialSettingsVisibilityHandler") qmlRegisterSingletonType(cura.Settings.ContainerManager, "Cura", 1, 0, "ContainerManager", cura.Settings.ContainerManager.createContainerManager) qmlRegisterSingletonType(QUrl.fromLocalFile(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles, "Actions.qml")), "Cura", 1, 0, "Actions") engine.rootContext().setContextProperty("ExtruderManager", cura.Settings.ExtruderManager.getInstance()) for path in Resources.getAllResourcesOfType(CuraApplication.ResourceTypes.QmlFiles): type_name = os.path.splitext(os.path.basename(path))[0] if type_name in ("Cura", "Actions"): continue qmlRegisterType(QUrl.fromLocalFile(path), "Cura", 1, 0, type_name)
def registerObjects(self, engine): engine.rootContext().setContextProperty("Printer", self) engine.rootContext().setContextProperty("CuraApplication", self) self._print_information = PrintInformation.PrintInformation() engine.rootContext().setContextProperty("PrintInformation", self._print_information) self._cura_actions = CuraActions.CuraActions(self) engine.rootContext().setContextProperty("CuraActions", self._cura_actions) qmlRegisterUncreatableType(CuraApplication, "Cura", 1, 0, "ResourceTypes", "Just an Enum type") qmlRegisterType(cura.Settings.ExtrudersModel, "Cura", 1, 0, "ExtrudersModel") qmlRegisterType(cura.Settings.ContainerSettingsModel, "Cura", 1, 0, "ContainerSettingsModel") qmlRegisterSingletonType(cura.Settings.ProfilesModel, "Cura", 1, 0, "ProfilesModel", cura.Settings.ProfilesModel.createProfilesModel) qmlRegisterType(cura.Settings.QualityAndUserProfilesModel, "Cura", 1, 0, "QualityAndUserProfilesModel") qmlRegisterType(cura.Settings.UserProfilesModel, "Cura", 1, 0, "UserProfilesModel") qmlRegisterType(cura.Settings.MaterialSettingsVisibilityHandler, "Cura", 1, 0, "MaterialSettingsVisibilityHandler") qmlRegisterType(cura.Settings.QualitySettingsModel, "Cura", 1, 0, "QualitySettingsModel") qmlRegisterType(cura.Settings.MachineNameValidator, "Cura", 1, 0, "MachineNameValidator") qmlRegisterSingletonType(cura.Settings.ContainerManager, "Cura", 1, 0, "ContainerManager", cura.Settings.ContainerManager.createContainerManager) # As of Qt5.7, it is necessary to get rid of any ".." in the path for the singleton to work. actions_url = QUrl.fromLocalFile(os.path.abspath(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles, "Actions.qml"))) qmlRegisterSingletonType(actions_url, "Cura", 1, 0, "Actions") engine.rootContext().setContextProperty("ExtruderManager", cura.Settings.ExtruderManager.getInstance()) for path in Resources.getAllResourcesOfType(CuraApplication.ResourceTypes.QmlFiles): type_name = os.path.splitext(os.path.basename(path))[0] if type_name in ("Cura", "Actions"): continue qmlRegisterType(QUrl.fromLocalFile(path), "Cura", 1, 0, type_name)
def register(self): qmlRegisterType(MainWindow, "UM", 1, 0, "MainWindow") qmlRegisterType(ViewModel, "UM", 1, 0, "ViewModel") #qmlRegisterType(FileModel, "UM", 1, 0, "FileModel") qmlRegisterType(ToolModel, "UM", 1, 0, "ToolModel") qmlRegisterType(JobsModel.JobsModel, "UM", 1, 0, "JobsModel") qmlRegisterType(SettingCategoriesModel.SettingCategoriesModel, "UM", 1, 0, "SettingCategoriesModel") qmlRegisterType(AngledCornerRectangle.AngledCornerRectangle, "UM", 1, 0, "AngledCornerRectangle") # Singleton proxy objects qmlRegisterSingletonType(ControllerProxy, "UM", 1, 0, "Controller", Bindings.createControllerProxy) qmlRegisterSingletonType(ApplicationProxy, "UM", 1, 0, "Application", Bindings.createApplicationProxy) qmlRegisterSingletonType(BackendProxy, "UM", 1, 0, "Backend", Bindings.createBackendProxy) qmlRegisterSingletonType(SceneProxy, "UM", 1, 0, "Scene", Bindings.createSceneProxy) qmlRegisterSingletonType(Models, "UM", 1, 0, "Models", Bindings.createModels) qmlRegisterSingletonType(ResourcesProxy, "UM", 1, 0, "Resources", Bindings.createResourcesProxy) qmlRegisterSingletonType(OperationStackProxy.OperationStackProxy, "UM", 1, 0, "OperationStack", Bindings.createOperationStackProxy) qmlRegisterSingletonType(MeshFileHandlerProxy.MeshFileHandlerProxy, "UM", 1, 0, "MeshFileHandler", MeshFileHandlerProxy.createMeshFileHandlerProxy) qmlRegisterSingletonType(PreferencesProxy.PreferencesProxy, "UM", 1, 0, "Preferences", PreferencesProxy.createPreferencesProxy) qmlRegisterSingletonType(Theme.Theme, "UM", 1, 0, "Theme", Theme.createTheme) qmlRegisterSingletonType(ActiveToolProxy.ActiveToolProxy, "UM", 1, 0, "ActiveTool", ActiveToolProxy.createActiveToolProxy) qmlRegisterSingletonType(ActiveViewProxy.ActiveViewProxy, "UM", 1, 0, "ActiveView", ActiveViewProxy.createActiveViewProxy) qmlRegisterUncreatableType(Duration, "UM", 1, 0, "Duration", "") qmlRegisterUncreatableType(DurationFormat, "UM", 1, 0, "DurationFormat", "")
def registerObjects(self, engine): engine.rootContext().setContextProperty("Printer", self) engine.rootContext().setContextProperty("CuraApplication", self) self._print_information = PrintInformation.PrintInformation() engine.rootContext().setContextProperty("PrintInformation", self._print_information) self._cura_actions = CuraActions.CuraActions(self) engine.rootContext().setContextProperty("CuraActions", self._cura_actions) qmlRegisterUncreatableType(CuraApplication, "Cura", 1, 0, "ResourceTypes", "Just an Enum type") qmlRegisterType(cura.Settings.ExtrudersModel, "Cura", 1, 0, "ExtrudersModel") qmlRegisterType(cura.Settings.ContainerSettingsModel, "Cura", 1, 0, "ContainerSettingsModel") qmlRegisterType(cura.Settings.MaterialSettingsVisibilityHandler, "Cura", 1, 0, "MaterialSettingsVisibilityHandler") qmlRegisterType(cura.Settings.QualitySettingsModel, "Cura", 1, 0, "QualitySettingsModel") qmlRegisterSingletonType(cura.Settings.ContainerManager, "Cura", 1, 0, "ContainerManager", cura.Settings.ContainerManager.createContainerManager) qmlRegisterSingletonType(QUrl.fromLocalFile(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles, "Actions.qml")), "Cura", 1, 0, "Actions") engine.rootContext().setContextProperty("ExtruderManager", cura.Settings.ExtruderManager.getInstance()) for path in Resources.getAllResourcesOfType(CuraApplication.ResourceTypes.QmlFiles): type_name = os.path.splitext(os.path.basename(path))[0] if type_name in ("Cura", "Actions"): continue qmlRegisterType(QUrl.fromLocalFile(path), "Cura", 1, 0, type_name)
def registerObjects(self, engine): engine.rootContext().setContextProperty("Printer", self) self._print_information = PrintInformation.PrintInformation() engine.rootContext().setContextProperty("PrintInformation", self._print_information) self._cura_actions = CuraActions.CuraActions(self) engine.rootContext().setContextProperty("CuraActions", self._cura_actions) qmlRegisterUncreatableType(CuraApplication, "Cura", 1, 0, "ResourceTypes", "Just an Enum type")
def register_types() -> None: """Register custom QML types""" qmlRegisterType(ConversationModel, "ChatDemo", 1, 0, "Conversation") qmlRegisterType(ChatService, "ChatService", 1, 0, "ChatService") qmlRegisterUncreatableType(ChannelsModel, "ChannelsModel", 1, 0, "ChannelsModel", "ChannelsModel can't be created in QML!") qmlRegisterUncreatableType(ConversationModel, "ConversationModel", 1, 0, "ConversationModel", "ConversationModel can't be created in QML!")
def register(self): qmlRegisterType(MainWindow.MainWindow, "UM", 1, 0, "MainWindow") qmlRegisterType(ViewModel.ViewModel, "UM", 1, 0, "ViewModel") qmlRegisterType(ToolModel.ToolModel, "UM", 1, 0, "ToolModel") qmlRegisterType(JobsModel.JobsModel, "UM", 1, 0, "JobsModel") qmlRegisterType(AngledCornerRectangle.AngledCornerRectangle, "UM", 1, 0, "AngledCornerRectangle") qmlRegisterType(PointingRectangle.PointingRectangle, "UM", 1, 0, "PointingRectangle") qmlRegisterType(ExtensionModel.ExtensionModel, "UM", 1, 0, "ExtensionModel") qmlRegisterType(PluginsModel.PluginsModel, "UM", 1, 0, "PluginsModel") qmlRegisterType(VisibleMessagesModel.VisibleMessagesModel, "UM", 1, 0, "VisibleMessagesModel") # Singleton proxy objects qmlRegisterSingletonType(ControllerProxy.ControllerProxy, "UM", 1, 0, "Controller", Bindings.createControllerProxy) qmlRegisterSingletonType(ApplicationProxy.ApplicationProxy, "UM", 1, 0, "Application", Bindings.createApplicationProxy) qmlRegisterSingletonType(BackendProxy.BackendProxy, "UM", 1, 0, "Backend", Bindings.createBackendProxy) qmlRegisterSingletonType(SceneProxy.SceneProxy, "UM", 1, 0, "Scene", Bindings.createSceneProxy) qmlRegisterSingletonType(ResourcesProxy.ResourcesProxy, "UM", 1, 0, "Resources", Bindings.createResourcesProxy) qmlRegisterSingletonType(OperationStackProxy.OperationStackProxy, "UM", 1, 0, "OperationStack", Bindings.createOperationStackProxy) qmlRegisterSingletonType(MeshFileHandler, "UM", 1, 0, "MeshFileHandler", MeshFileHandler.getInstance) qmlRegisterSingletonType(PreferencesProxy.PreferencesProxy, "UM", 1, 0, "Preferences", PreferencesProxy.createPreferencesProxy) qmlRegisterSingletonType(Theme.Theme, "UM", 1, 0, "Theme", Theme.createTheme) qmlRegisterSingletonType(ActiveToolProxy.ActiveToolProxy, "UM", 1, 0, "ActiveTool", ActiveToolProxy.createActiveToolProxy) qmlRegisterSingletonType(ActiveViewProxy.ActiveViewProxy, "UM", 1, 0, "ActiveView", ActiveViewProxy.createActiveViewProxy) qmlRegisterSingletonType(SelectionProxy.SelectionProxy, "UM", 1, 0, "Selection", SelectionProxy.createSelectionProxy) qmlRegisterUncreatableType(Duration, "UM", 1, 0, "Duration", "") qmlRegisterUncreatableType(DurationFormat, "UM", 1, 0, "DurationFormat", "") # Additions after 15.06. Uses API version 1.1 so should be imported with "import UM 1.1" qmlRegisterType(OutputDevicesModel.OutputDevicesModel, "UM", 1, 1, "OutputDevicesModel") qmlRegisterType(i18nCatalogProxy.i18nCatalogProxy, "UM", 1, 1, "I18nCatalog") qmlRegisterSingletonType(OutputDeviceManagerProxy.OutputDeviceManagerProxy, "UM", 1, 1, "OutputDeviceManager", OutputDeviceManagerProxy.createOutputDeviceManagerProxy) # Additions after 2.1. Uses API version 1.2 qmlRegisterType(UM.Settings.Models.SettingDefinitionsModel, "UM", 1, 2, "SettingDefinitionsModel") qmlRegisterType(UM.Settings.Models.DefinitionContainersModel, "UM", 1, 2, "DefinitionContainersModel") qmlRegisterType(UM.Settings.Models.InstanceContainersModel, "UM", 1, 2, "InstanceContainersModel") qmlRegisterType(UM.Settings.Models.ContainerStacksModel, "UM", 1, 2, "ContainerStacksModel") qmlRegisterType(UM.Settings.Models.SettingPropertyProvider, "UM", 1, 2, "SettingPropertyProvider") qmlRegisterType(UM.Settings.Models.SettingPreferenceVisibilityHandler, "UM", 1, 2, "SettingPreferenceVisibilityHandler") qmlRegisterType(UM.Settings.Models.ContainerPropertyProvider, "UM", 1, 2, "ContainerPropertyProvider") qmlRegisterType(MeshListModel.MeshListModel, "UM", 1, 2, "MeshListModel") # Additions after 2.3; qmlRegisterSingletonType(WorkspaceFileHandler, "UM", 1, 3, "WorkspaceFileHandler", WorkspaceFileHandler.getInstance)
def registerObjects(self, engine): engine.rootContext().setContextProperty("Printer", self) self._print_information = PrintInformation.PrintInformation() engine.rootContext().setContextProperty("PrintInformation", self._print_information) self._cura_actions = CuraActions.CuraActions(self) engine.rootContext().setContextProperty("CuraActions", self._cura_actions) qmlRegisterUncreatableType(CuraApplication, "Cura", 1, 0, "ResourceTypes", "Just an Enum type") qmlRegisterSingletonType(QUrl.fromLocalFile(Resources.getPath(CuraApplication.ResourceTypes.QmlFiles, "Actions.qml")), "Cura", 1, 0, "Actions") for path in Resources.getAllResourcesOfType(CuraApplication.ResourceTypes.QmlFiles): type_name = os.path.splitext(os.path.basename(path))[0] if type_name in ("Cura", "Actions"): continue qmlRegisterType(QUrl.fromLocalFile(path), "Cura", 1, 0, type_name)
def register(self): qmlRegisterType(MainWindow.MainWindow, "UM", 1, 0, "MainWindow") qmlRegisterType(ViewModel.ViewModel, "UM", 1, 0, "ViewModel") qmlRegisterType(ToolModel.ToolModel, "UM", 1, 0, "ToolModel") qmlRegisterType(PointingRectangle.PointingRectangle, "UM", 1, 0, "PointingRectangle") qmlRegisterType(ExtensionModel.ExtensionModel, "UM", 1, 0, "ExtensionModel") qmlRegisterType(PluginsModel.PluginsModel, "UM", 1, 0, "PluginsModel") qmlRegisterType(VisibleMessagesModel.VisibleMessagesModel, "UM", 1, 0, "VisibleMessagesModel") # Singleton proxy objects qmlRegisterSingletonType(ControllerProxy.ControllerProxy, "UM", 1, 0, "Controller", Bindings.createControllerProxy) qmlRegisterSingletonType(ApplicationProxy.ApplicationProxy, "UM", 1, 0, "Application", Bindings.createApplicationProxy) qmlRegisterSingletonType(BackendProxy.BackendProxy, "UM", 1, 0, "Backend", Bindings.createBackendProxy) qmlRegisterSingletonType(SceneProxy.SceneProxy, "UM", 1, 0, "Scene", Bindings.createSceneProxy) qmlRegisterSingletonType(ResourcesProxy.ResourcesProxy, "UM", 1, 0, "Resources", Bindings.createResourcesProxy) qmlRegisterSingletonType(OperationStackProxy.OperationStackProxy, "UM", 1, 0, "OperationStack", Bindings.createOperationStackProxy) qmlRegisterSingletonType(MeshFileHandler, "UM", 1, 0, "MeshFileHandler", MeshFileHandler.getInstance) qmlRegisterSingletonType(PreferencesProxy.PreferencesProxy, "UM", 1, 0, "Preferences", PreferencesProxy.createPreferencesProxy) qmlRegisterSingletonType(Theme.Theme, "UM", 1, 0, "Theme", Theme.createTheme) qmlRegisterSingletonType(ActiveToolProxy.ActiveToolProxy, "UM", 1, 0, "ActiveTool", ActiveToolProxy.createActiveToolProxy) qmlRegisterSingletonType(ActiveViewProxy.ActiveViewProxy, "UM", 1, 0, "ActiveView", ActiveViewProxy.createActiveViewProxy) qmlRegisterSingletonType(SelectionProxy.SelectionProxy, "UM", 1, 0, "Selection", SelectionProxy.createSelectionProxy) qmlRegisterUncreatableType(Duration, "UM", 1, 0, "Duration", "") qmlRegisterUncreatableType(DurationFormat, "UM", 1, 0, "DurationFormat", "") # Additions after 15.06. Uses API version 1.1 so should be imported with "import UM 1.1" qmlRegisterType(OutputDevicesModel.OutputDevicesModel, "UM", 1, 1, "OutputDevicesModel") qmlRegisterType(i18nCatalogProxy.i18nCatalogProxy, "UM", 1, 1, "I18nCatalog") qmlRegisterSingletonType(OutputDeviceManagerProxy.OutputDeviceManagerProxy, "UM", 1, 1, "OutputDeviceManager", OutputDeviceManagerProxy.createOutputDeviceManagerProxy) # Additions after 2.1. Uses API version 1.2 qmlRegisterType(SettingDefinitionsModel, "UM", 1, 2, "SettingDefinitionsModel") qmlRegisterType(DefinitionContainersModel, "UM", 1, 2, "DefinitionContainersModel") qmlRegisterType(InstanceContainersModel, "UM", 1, 2, "InstanceContainersModel") qmlRegisterType(ContainerStacksModel, "UM", 1, 2, "ContainerStacksModel") qmlRegisterType(SettingPropertyProvider, "UM", 1, 2, "SettingPropertyProvider") qmlRegisterType(SettingPreferenceVisibilityHandler, "UM", 1, 2, "SettingPreferenceVisibilityHandler") qmlRegisterType(ContainerPropertyProvider, "UM", 1, 2, "ContainerPropertyProvider") qmlRegisterType(MeshListModel.MeshListModel, "UM", 1, 2, "MeshListModel") # Additions after 2.3; qmlRegisterSingletonType(WorkspaceFileHandler, "UM", 1, 3, "WorkspaceFileHandler", WorkspaceFileHandler.getInstance) qmlRegisterSingletonType(OpenGLContextProxy.OpenGLContextProxy, "UM", 1, 3, "OpenGLContextProxy", Bindings.createOpenGLContextProxy)
def registerTypesForQml(): """Регистрирует классы библиотеки VNetworkData в мета-объектной системе Qt для их использования в QML.""" uri = name qmlRegisterUncreatableType(Vns, uri, major, minor, "Vns", "Vns is an enum container and can not be constructed.") # qmlRegisterUncreatableType(VAbstractNetworkClient, uri, major, minor, "VAbstractNetworkClient", # "VAbstractNetworkClient is abstract and it can not be instantiated.") # qmlRegisterUncreatableType(VNetworkModelAction, uri, major, minor, "VNetworkModelAction", # "VNetworkModelAction should not be instantiated in QML directly.") # qmlRegisterUncreatableType(VNetworkModelExpandedAction, uri, major, minor, "VNetworkModelExpandedAction", # "VNetworkModelExpandedAction should not be instantiated in QML directly.") # qmlRegisterUncreatableType(VAbstractPagination, uri, major, minor, "VAbstractPagination", # "VAbstractPagination is abstract and it can not be instantiated.") qmlRegisterType(VAllTogetherPagination, uri, major, minor, "VAllTogetherPagination") qmlRegisterType(VNothingPagination, uri, major, minor, "VNothingPagination") qmlRegisterType(VPagesAccumulationPagination, uri, major, minor, "VPagesAccumulationPagination") qmlRegisterType(VPagesReplacementPagination, uri, major, minor, "VPagesReplacementPagination")
def register(self): qmlRegisterType(MainWindow, "UM", 1, 0, "MainWindow") qmlRegisterType(ViewModel, "UM", 1, 0, "ViewModel") #qmlRegisterType(FileModel, "UM", 1, 0, "FileModel") qmlRegisterType(ToolModel, "UM", 1, 0, "ToolModel") qmlRegisterType(JobsModel.JobsModel, "UM", 1, 0, "JobsModel") qmlRegisterType(SettingCategoriesModel.SettingCategoriesModel, "UM", 1, 0, "SettingCategoriesModel") qmlRegisterType(AngledCornerRectangle.AngledCornerRectangle, "UM", 1, 0, "AngledCornerRectangle") qmlRegisterType(PointingRectangle.PointingRectangle, "UM", 1, 0, "PointingRectangle") # Singleton proxy objects qmlRegisterSingletonType(ControllerProxy, "UM", 1, 0, "Controller", Bindings.createControllerProxy) qmlRegisterSingletonType(ApplicationProxy, "UM", 1, 0, "Application", Bindings.createApplicationProxy) qmlRegisterSingletonType(BackendProxy, "UM", 1, 0, "Backend", Bindings.createBackendProxy) qmlRegisterSingletonType(SceneProxy, "UM", 1, 0, "Scene", Bindings.createSceneProxy) qmlRegisterSingletonType(Models, "UM", 1, 0, "Models", Bindings.createModels) qmlRegisterSingletonType(ResourcesProxy, "UM", 1, 0, "Resources", Bindings.createResourcesProxy) qmlRegisterSingletonType(OperationStackProxy.OperationStackProxy, "UM", 1, 0, "OperationStack", Bindings.createOperationStackProxy) qmlRegisterSingletonType(MeshFileHandlerProxy.MeshFileHandlerProxy, "UM", 1, 0, "MeshFileHandler", MeshFileHandlerProxy.createMeshFileHandlerProxy) qmlRegisterSingletonType(PreferencesProxy.PreferencesProxy, "UM", 1, 0, "Preferences", PreferencesProxy.createPreferencesProxy) qmlRegisterSingletonType(Theme.Theme, "UM", 1, 0, "Theme", Theme.createTheme) qmlRegisterSingletonType(ActiveToolProxy.ActiveToolProxy, "UM", 1, 0, "ActiveTool", ActiveToolProxy.createActiveToolProxy) qmlRegisterSingletonType(ActiveViewProxy.ActiveViewProxy, "UM", 1, 0, "ActiveView", ActiveViewProxy.createActiveViewProxy) qmlRegisterSingletonType(SelectionProxy.SelectionProxy, "UM", 1, 0, "Selection", SelectionProxy.createSelectionProxy) qmlRegisterUncreatableType(Duration, "UM", 1, 0, "Duration", "") qmlRegisterUncreatableType(DurationFormat, "UM", 1, 0, "DurationFormat", "") # Additions after 15.06. Uses API version 1.1 so should be imported with "import UM 1.1" qmlRegisterType(OutputDevicesModel.OutputDevicesModel, "UM", 1, 1, "OutputDevicesModel") qmlRegisterType(i18nCatalogProxy.i18nCatalogProxy, "UM", 1, 1, "I18nCatalog") qmlRegisterType(MachineDefinitionsModel.MachineDefinitionsModel, "UM", 1, 1, "MachineDefinitionsModel") qmlRegisterType(MachineInstancesModel.MachineInstancesModel, "UM", 1, 1, "MachineInstancesModel") qmlRegisterType(MachineVariantsModel.MachineVariantsModel, "UM", 1, 1, "MachineVariantsModel") qmlRegisterType(MachineMaterialsModel.MachineMaterialsModel, "UM", 1, 1, "MachineMaterialsModel") qmlRegisterType(ProfilesModel.ProfilesModel, "UM", 1, 1, "ProfilesModel") qmlRegisterSingletonType(OutputDeviceManagerProxy.OutputDeviceManagerProxy, "UM", 1, 1, "OutputDeviceManager", OutputDeviceManagerProxy.createOutputDeviceManagerProxy) qmlRegisterSingletonType(MachineManagerProxy.MachineManagerProxy, "UM", 1, 1, "MachineManager", MachineManagerProxy.createMachineManagerProxy) qmlRegisterSingletonType(ActiveProfileProxy.ActiveProfileProxy, "UM", 1, 1, "ActiveProfile", ActiveProfileProxy.createActiveProfileProxy)
def main( argv ): # Setup the main event loop that will drive the chat client. app = ClientApp( argv ) main_loop = QEventLoop( app ) asyncio.set_event_loop( main_loop ) # Through a brilliant stroke of misfortune, it turns out on Windows the quamash library, which # provides the asyncio event loop that interops with Qt, derives from asyncio's ProactorEventLoop, # which does NOT support the creation of datagram (UDP) endpoints. If it were possible to change # the loop to one based on SelectorEventLoop, then UDP endpoints could be supported, but that's # outside my control. # # To avoid gutting the asynchronous code from the app and starting over with a different socket # API, we setup a separate thread to handle UDP traffic with a SelectorEventLoop. We then # communicate between the two event loops by submitting coroutines as tasks to the appropriate # event loop. It sucks and is ugly but better than rearchitecting late in the game. # datagram_channel_loop = asyncio.SelectorEventLoop( selectors.SelectSelector() ) datagram_channel_thread = DatagramChannelThread( datagram_channel_loop ) # Create the top-level app model state for the chat client. app_model = AppModel( main_loop, datagram_channel_thread ) cli = app.parse_command_line() app_model.screenName = cli.screen_name app_model.serverAddress = cli.server_address app_model.serverPort = cli.server_port # Initialize the UI. qmlRegisterUncreatableType( AppModel, "Chatter.Client", 1, 0, "AppModel", "AppModel cannot be craeted in QML." ) engine = QQmlApplicationEngine() engine.rootContext().setContextProperty( "appModel", app_model ) engine.load( "client.qml" ) with main_loop: datagram_channel_thread.start() main_loop.run_until_complete( app_model._client_stopped ) datagram_channel_thread.join() print( "Leaving app" )
def __init__(self, opts, args): QGuiApplication.__init__(self, args) translator = QTranslator() translator.load(QLocale.system().name(), "po") self.installTranslator(translator) qmlRegisterUncreatableType( ReleaseDownload, 'LiveUSB', 1, 0, 'Download', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType( ReleaseWriter, 'LiveUSB', 1, 0, 'Writer', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType( ReleaseListModel, 'LiveUSB', 1, 0, 'ReleaseModel', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType( Release, 'LiveUSB', 1, 0, 'Release', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType( USBDrive, 'LiveUSB', 1, 0, 'Drive', 'Not creatable directly, use the liveUSBData instance instead') qmlRegisterUncreatableType(LiveUSBData, 'LiveUSB', 1, 0, 'Data', 'Use the liveUSBData root instance') engine = QQmlApplicationEngine() self.data = LiveUSBData(opts) engine.rootContext().setContextProperty('liveUSBData', self.data) if (opts.directqml): engine.load(QUrl('liveusb/liveusb.qml')) else: engine.load(QUrl('qrc:/liveusb.qml')) engine.rootObjects()[0].show() self.exec_()
def registerObjects(self, engine): engine.rootContext().setContextProperty("App", self) qmlRegisterUncreatableType(NinjaApplication, "NinjaKittens", 1, 0, "ResourceTypes", "Just an Enum type")
def _onEngineCreated() -> None: qmlRegisterUncreatableType(DFRetrievalStatus, "DigitalFactory", 1, 0, "RetrievalStatus", "Could not create RetrievalStatus enum type")
def openLixianChannel(self, rowId, enable: bool): srcIndex = self._getSourceModelIndex(rowId) self.sourceModel().openLixianChannel(srcIndex, enable) @pyqtSlot(int, result = "void") def openVipChannel(self, rowId): srcIndex = self._getSourceModelIndex(rowId) self.sourceModel().openVipChannel(srcIndex) @pyqtSlot(int, result = "void") def viewOneTask(self, rowId): srcIndex = self._getSourceModelIndex(rowId) self.sourceModel().viewOneTask(srcIndex) @pyqtSlot("QList<int>", result = "void") def viewMultipleTasks(self, options): rowIds = options["rows"] srcIndice = list(self._getSourceModelIndice(rowIds)) self.sourceModel().viewMultipleTasks(srcIndice) # put this at the end of the class, to workaround a PyQt bug # See # 97 Q_ENUMS(dropPy34Enum(TaskClass, "Class")) Q_ENUMS(dropPy34Enum(TaskState, "State")) Q_ENUMS(dropPy34Enum(LixianChannelState, "Lixian")) Q_ENUMS(dropPy34Enum(VipChannelState, "Vip")) if qmlRegisterUncreatableType: qmlRegisterUncreatableType(ProxyModel, 'TaskModel', 1, 0, 'TaskModel', "TaskModel cannot be created.")
self.sourceModel().startTasks(srcIndice, options) @pyqtSlot(int, result="void") def systemOpen(self, rowId): srcIndex = self._getSourceModelIndex(rowId) self.sourceModel().systemOpen(srcIndex) @pyqtSlot(int, bool, result="void") def openLixianChannel(self, rowId, enable: bool): srcIndex = self._getSourceModelIndex(rowId) self.sourceModel().openLixianChannel(srcIndex, enable) @pyqtSlot(int, result="void") def openVipChannel(self, rowId): srcIndex = self._getSourceModelIndex(rowId) self.sourceModel().openVipChannel(srcIndex) @pyqtSlot(int, result="void") def viewOneTask(self, rowId): srcIndex = self._getSourceModelIndex(rowId) self.sourceModel().viewOneTask(srcIndex) @pyqtSlot("QList<int>", result="void") def viewMultipleTasks(self, rowIds): srcIndice = list(self._getSourceModelIndice(rowIds)) self.sourceModel().viewMultipleTasks(srcIndice) qmlRegisterUncreatableType(ProxyModel, 'TaskModel', 1, 0, 'TaskModel', "TaskModel cannot be created.")
def __init__(self, args, config, daemon): super().__init__(args) self.logger = get_logger(__name__) ElectrumQmlApplication._daemon = daemon qmlRegisterType(QEWalletListModel, 'org.electrum', 1, 0, 'WalletListModel') qmlRegisterType(QEWallet, 'org.electrum', 1, 0, 'Wallet') qmlRegisterType(QEWalletDB, 'org.electrum', 1, 0, 'WalletDB') qmlRegisterType(QEBitcoin, 'org.electrum', 1, 0, 'Bitcoin') qmlRegisterType(QEQRParser, 'org.electrum', 1, 0, 'QRParser') qmlRegisterType(QEFX, 'org.electrum', 1, 0, 'FX') qmlRegisterType(QETxFinalizer, 'org.electrum', 1, 0, 'TxFinalizer') qmlRegisterType(QEInvoice, 'org.electrum', 1, 0, 'Invoice') qmlRegisterType(QEInvoiceParser, 'org.electrum', 1, 0, 'InvoiceParser') qmlRegisterType(QEUserEnteredPayment, 'org.electrum', 1, 0, 'UserEnteredPayment') qmlRegisterType(QEAddressDetails, 'org.electrum', 1, 0, 'AddressDetails') qmlRegisterType(QETxDetails, 'org.electrum', 1, 0, 'TxDetails') qmlRegisterType(QEChannelOpener, 'org.electrum', 1, 0, 'ChannelOpener') qmlRegisterType(QELnPaymentDetails, 'org.electrum', 1, 0, 'LnPaymentDetails') qmlRegisterType(QEChannelDetails, 'org.electrum', 1, 0, 'ChannelDetails') qmlRegisterType(QESwapHelper, 'org.electrum', 1, 0, 'SwapHelper') qmlRegisterUncreatableType(QEAmount, 'org.electrum', 1, 0, 'Amount', 'Amount can only be used as property') self.engine = QQmlApplicationEngine(parent=self) self.engine.addImportPath('./qml') screensize = self.primaryScreen().size() self.qr_ip = QEQRImageProvider( (7 / 8) * min(screensize.width(), screensize.height())) self.engine.addImageProvider('qrgen', self.qr_ip) # add a monospace font as we can't rely on device having one self.fixedFont = 'PT Mono' not_loaded = QFontDatabase.addApplicationFont( 'electrum/gui/qml/fonts/PTMono-Regular.ttf') < 0 not_loaded = QFontDatabase.addApplicationFont( 'electrum/gui/qml/fonts/PTMono-Bold.ttf') < 0 and not_loaded if not_loaded: self.logger.warning('Could not load font PT Mono') self.fixedFont = 'Monospace' # hope for the best self.context = self.engine.rootContext() self._qeconfig = QEConfig(config) self._qenetwork = QENetwork(daemon.network) self._qedaemon = QEDaemon(daemon) self._appController = QEAppController(self._qedaemon) self._maxAmount = QEAmount(is_max=True) self.context.setContextProperty('AppController', self._appController) self.context.setContextProperty('Config', self._qeconfig) self.context.setContextProperty('Network', self._qenetwork) self.context.setContextProperty('Daemon', self._qedaemon) self.context.setContextProperty('FixedFont', self.fixedFont) self.context.setContextProperty('MAX', self._maxAmount) self.context.setContextProperty( 'BUILD', { 'electrum_version': version.ELECTRUM_VERSION, 'apk_version': version.APK_VERSION, 'protocol_version': version.PROTOCOL_VERSION }) qInstallMessageHandler(self.message_handler) # get notified whether root QML document loads or not self.engine.objectCreated.connect(self.objectCreated)