Source code for capsul.qt_apps.pipeline_viewer_app
# -*- coding: utf-8 -*-
'''
Classes
=======
:class:`PipelineViewerApp`
--------------------------
'''
# System import
from __future__ import absolute_import
import os
import logging
# Define the logger
logger = logging.getLogger(__name__)
# Capsul import
from capsul.qt_apps.utils.application import Application
from capsul.qt_apps.main_window import CapsulMainWindow
from capsul.qt_apps.utils.find_pipelines import find_pipelines_from_description
import capsul.qt_apps.resources as resources
from capsul.plugins import PLUGS
[docs]class PipelineViewerApp(Application):
""" CAPSULVIEW Application.
"""
# Load some meta information
from capsul.info import __version__ as _version
from capsul.info import NAME as _application_name
from capsul.info import ORGANISATION as _organisation_name
def __init__(self, *args, **kwargs):
""" Method to initialize the PipelineViewerApp class.
"""
# Inhetritance
super(PipelineViewerApp, self).__init__(*args, **kwargs)
# Initialize the application
self.window = None
self.init_window()
[docs] def init_window(self):
""" Method to initialize the main window.
"""
# First set some meta information
self.setApplicationName(self._application_name)
self.setOrganizationName(self._organisation_name)
self.setApplicationVersion(self._version)
# Get the user interface description from capsul resources
ui_file = os.path.join(resources.__path__[0], "capsul.ui")
# List capsul declared plugins (set of pipelines).
if self.options.test:
pipeline_menu = {
"capsul": {
"utils": {
"test": {
"pipeline": {
"XmlPipeline": [""]
}
}
}
}
}
else:
pipeline_menu = {}
for module_name, doc_url in PLUGS:
pipeline_menu.update(
find_pipelines_from_description(module_name, doc_url)[0])
# Create and show the main window
self.window = CapsulMainWindow(pipeline_menu, ui_file)
self.window.show()
return True