def __init__(self, uifile): """ Method to initialize the base window. Parameters ---------- uifile: str (mandatory) a filename containing the user interface description. """ self.ui = qt_backend.loadUi(uifile)
def __init__(self, uifile): """ Method to initialize the base window. Parameters ---------- uifile: str (mandatory) a filename containing the user interface description. """ self.ui = qt_backend.loadUi(uifile)
def __init__(self, pipeline, ui_file=None, record_file=None, parent=None): super(CapsulLinkDebuggerView, self).__init__(parent) # load the user interface window if ui_file is None: ui_file = os.path.join(os.path.dirname(__file__), "links_debugger.ui") self.ui = qt_backend.loadUi(ui_file) self.ui.help.hide() self.ui.help.setParent(None) self.help_geom = None table_header = self.ui.links_table.horizontalHeader() table_header.setResizeMode(QtGui.QHeaderView.ResizeToContents) table_header_v = self.ui.links_table.verticalHeader() table_header_v.setResizeMode(QtGui.QHeaderView.ResizeToContents) if record_file is None: record_file_s = tempfile.mkstemp() record_file = record_file_s[1] os.close(record_file_s[0]) print('temporary record file:', record_file) class AutoDeleteFile(object): def __init__(self, record_file): self.record_file = record_file def __del__(self): try: os.unlink(self.record_file) except OSError: pass self._autodelete_record_file = AutoDeleteFile(record_file) self.record_file = record_file self.pipeline = None self.set_pipeline(pipeline) self.update_links_view() self.ui.links_table.cellClicked.connect(self.activateCell) self.ui.actionPrevious.activated.connect(self.go_previous_line) self.ui.actionNext.activated.connect(self.go_next_line) self.ui.actionFollow.activated.connect(self.go_follow_link) self.ui.actionRefresh.activated.connect(self.update_links_view) self.ui.actionClear.activated.connect(self.clear_view) self.ui.actionHelp.activated.connect(self.help)
def __init__(self, pipeline, ui_file=None, record_file=None, parent=None): super(CapsulLinkDebuggerView, self).__init__(parent) # load the user interface window if ui_file is None: ui_file = os.path.join( os.path.dirname(__file__), "links_debugger.ui") self.ui = qt_backend.loadUi(ui_file) self.ui.help.hide() self.ui.help.setParent(None) self.help_geom = None table_header = self.ui.links_table.horizontalHeader() table_header.setResizeMode(QtGui.QHeaderView.ResizeToContents) table_header_v = self.ui.links_table.verticalHeader() table_header_v.setResizeMode(QtGui.QHeaderView.ResizeToContents) if record_file is None: record_file_s = tempfile.mkstemp() record_file = record_file_s[1] os.close(record_file_s[0]) print('temporary record file:', record_file) class AutoDeleteFile(object): def __init__(self, record_file): self.record_file = record_file def __del__(self): try: os.unlink(self.record_file) except: pass self._autodelete_record_file = AutoDeleteFile(record_file) self.record_file = record_file self.pipeline = None self.set_pipeline(pipeline) self.update_links_view() self.ui.links_table.cellClicked.connect(self.activateCell) self.ui.actionPrevious.activated.connect(self.go_previous_line) self.ui.actionNext.activated.connect(self.go_next_line) self.ui.actionFollow.activated.connect(self.go_follow_link) self.ui.actionRefresh.activated.connect(self.update_links_view) self.ui.actionClear.activated.connect(self.clear_view) self.ui.actionHelp.activated.connect(self.help)
def __init__(self, pipeline, ui_file=None, record_file=None, developper_view=None, parent=None): """ Initialize the ActivationInspector class. Parameters ---------- pipeline: capsul.Pipeline (mandatory) the pipeline we want to inspect. ui_file: str (optional) the path to the qt user interface description file. If not specified, it will find its standard one. record_file: str (optional) a file path where the activation steps are recorded. If not specified (None), it will create a temporary file. developper_view: PipelineDevelopperView (optional) if specified it is possible to click on a plug to set a filter pattern and to update the pipeline activation accordingly. """ # Inheritance: create the application QtGui.QWidget.__init__(self, parent) # load the user interface window if ui_file is None: ui_file = os.path.join( os.path.dirname(__file__), "activation_inspector.ui") self.ui = qt_backend.loadUi(ui_file) # Define dynamic controls self.controls = { QtGui.QListWidget: ["events"], QtGui.QPushButton: ["btnUpdate", "next", "previous"], QtGui.QLineEdit: ["pattern"] } if record_file is None: record_file_s = tempfile.mkstemp() record_file = record_file_s[1] os.close(record_file_s[0]) print('temporary record file:', record_file) class AutoDeleteFile(object): def __init__(self, record_file): self.record_file = record_file def __del__(self): try: os.unlink(self.record_file) except: pass self._autodelete_record_file = AutoDeleteFile(record_file) # Add ui class parameter with the dynamic controls and initialize # default values self.add_controls_to_ui() # Store class parameters self.pipeline = pipeline self.record_file = record_file self.developper_view = developper_view # Set the pipeline record file if folder exists if os.path.isdir(os.path.dirname(self.record_file)): self.pipeline._debug_activations = self.record_file else: raise ValueError( "The record file '{0}' can't be created since the " "base directory does not exists.".format(self.record_file)) # Execute the pipeline activation method self.pipeline.update_nodes_and_plugs_activation() # Refresh the pipeline activation displayed list self.refresh_activation_from_record() # Signals for window interface self.ui.events.currentRowChanged.connect( self.update_pipeline_activation) self.ui.btnUpdate.clicked.connect( self.refresh_activation_from_record) self.ui.next.clicked.connect(self.find_next) self.ui.previous.clicked.connect(self.find_previous) # Dynamically select a filter rule by clicking on the pipeline view # plugs if developper_view is not None: developper_view.plug_clicked.connect(self.set_filter_pattern)
def __init__(self, pipeline, ui_file=None, record_file=None, developper_view=None, parent=None): """ Initialize the ActivationInspector class. Parameters ---------- pipeline: capsul.Pipeline (mandatory) the pipeline we want to inspect. ui_file: str (optional) the path to the qt user interface description file. If not specified, it will find its standard one. record_file: str (optional) a file path where the activation steps are recorded. If not specified (None), it will create a temporary file. developper_view: PipelineDevelopperView (optional) if specified it is possible to click on a plug to set a filter pattern and to update the pipeline activation accordingly. """ # Inheritance: create the application QtGui.QWidget.__init__(self, parent) # load the user interface window if ui_file is None: ui_file = os.path.join( os.path.dirname(__file__), "activation_inspector.ui") self.ui = qt_backend.loadUi(ui_file) # Define dynamic controls self.controls = { QtGui.QListWidget: ["events"], QtGui.QPushButton: ["btnUpdate", "next", "previous"], QtGui.QLineEdit: ["pattern"] } if record_file is None: record_file_s = tempfile.mkstemp() record_file = record_file_s[1] os.close(record_file_s[0]) print 'temporary record file:', record_file class AutoDeleteFile(object): def __init__(self, record_file): self.record_file = record_file def __del__(self): try: os.unlink(self.record_file) except: pass self._autodelete_record_file = AutoDeleteFile(record_file) # Add ui class parameter with the dynamic controls and initialize # default values self.add_controls_to_ui() # Store class parameters self.pipeline = pipeline self.record_file = record_file self.developper_view = developper_view # Set the pipeline record file if folder exists if os.path.isdir(os.path.dirname(self.record_file)): self.pipeline._debug_activations = self.record_file else: raise ValueError( "The record file '{0}' can't be created since the " "base directory does not exists.".format(self.record_file)) # Execute the pipeline activation method self.pipeline.update_nodes_and_plugs_activation() # Refresh the pipeline activation displayed list self.refresh_activation_from_record() # Signals for window interface self.ui.events.currentRowChanged.connect( self.update_pipeline_activation) self.ui.btnUpdate.clicked.connect( self.refresh_activation_from_record) self.ui.next.clicked.connect(self.find_next) self.ui.previous.clicked.connect(self.find_previous) # Dynamically select a filter rule by clicking on the pipeline view # plugs if developper_view is not None: developper_view.plug_clicked.connect(self.set_filter_pattern)