def show_poincare_movie_handler(self):
     if not hasattr(self, '__poincare_movie__'):
         self.__poincare_movie__ = PoincarePlotMovieDockWidget(
             self,
             data_accessor=self.data_accessor,
             output_file_listener=self.__output_file_listener__)
     self.__poincare_movie__.show()
class TachogramPlotCompositeWidget(MainWindowWidget):
    def __init__(self, parent, **params):
        super(TachogramPlotCompositeWidget, self).__init__(parent, **params)
        self.params = Params(**params)
        self.data_accessor = get_data_accessor_from_file_specification(self, self.params.file_specification)

        self.addToolBar(OperationalToolBarWidget(self))
        self.addToolBar(PoincareToolBarWidget(self))

        signal_unit = get_unit_by_class_name(self.params.file_specification.signal_unit_class_name)
        self.setCentralWidget(__TachogramPlot__(self, signal_unit=signal_unit))

    def toolbar_maximum_handler(self):
        SignalDispatcher.broadcastSignal(MAXIMIZE_TACHOGRAM_PLOT_SIGNAL)

    def toolbar_restore_handler(self):
        SignalDispatcher.broadcastSignal(RESTORE_TACHOGRAM_PLOT_SIGNAL)

    def toolbar_close_handler(self):
        SignalDispatcher.broadcastSignal(CLOSE_TACHOGRAM_PLOT_SIGNAL, self)

    def show_poincare_settings_handler(self):
        if not hasattr(self, "__poincare_settings__"):
            self.__poincare_settings__ = PoincarePlotSettingsDockWidget(
                self, data_accessor=self.data_accessor, output_file_listener=self.__output_file_listener__
            )
        self.__poincare_settings__.show()

    #    def __change_unit_handler__(self, _unit):
    #        self.tachogramPlot.changeXUnit(_unit)
    #        statusbar = StatusBarWidget(self.__initial_tab__)
    #        self.__initial_tab__.setStatusBar(statusbar)
    #        statusLabel = LabelWidget(statusbar,
    #                    i18n_def="STATUS",
    #                    add_widget_to_parent=True)
    #

    def __output_file_listener__(self, _filename):
        if not hasattr(self, "__outcome_files_tracker__"):
            self.__outcome_files_tracker__ = OutcomeFilesTrackerDockWidget(self)
        self.__outcome_files_tracker__.show()
        self.__outcome_files_tracker__.appendFile(_filename)

    @property
    def file_specification(self):
        """
        property method returns file_specification object associate with
        tachogram plot window
        """
        return self.params.file_specification

    def show_poincare_movie_handler(self):
        if not hasattr(self, "__poincare_movie__"):
            self.__poincare_movie__ = PoincarePlotMovieDockWidget(
                self, data_accessor=self.data_accessor, output_file_listener=self.__output_file_listener__
            )
        self.__poincare_movie__.show()
 def show_poincare_movie_handler(self):
     if not hasattr(self, "__poincare_movie__"):
         self.__poincare_movie__ = PoincarePlotMovieDockWidget(
             self, data_accessor=self.data_accessor, output_file_listener=self.__output_file_listener__
         )
     self.__poincare_movie__.show()
class TachogramPlotCompositeWidget(MainWindowWidget):
    def __init__(self, parent, **params):
        super(TachogramPlotCompositeWidget, self).__init__(parent, **params)
        self.params = Params(**params)
        self.data_accessor = get_data_accessor_from_file_specification(
            self, self.params.file_specification)

        self.addToolBar(OperationalToolBarWidget(self))
        self.addToolBar(PoincareToolBarWidget(self))

        signal_unit = get_unit_by_class_name(
            self.params.file_specification.signal_unit_class_name)
        self.setCentralWidget(__TachogramPlot__(self, signal_unit=signal_unit))

    def toolbar_maximum_handler(self):
        SignalDispatcher.broadcastSignal(MAXIMIZE_TACHOGRAM_PLOT_SIGNAL)

    def toolbar_restore_handler(self):
        SignalDispatcher.broadcastSignal(RESTORE_TACHOGRAM_PLOT_SIGNAL)

    def toolbar_close_handler(self):
        SignalDispatcher.broadcastSignal(CLOSE_TACHOGRAM_PLOT_SIGNAL, self)

    def show_poincare_settings_handler(self):
        if not hasattr(self, '__poincare_settings__'):
            self.__poincare_settings__ = PoincarePlotSettingsDockWidget(
                self,
                data_accessor=self.data_accessor,
                output_file_listener=self.__output_file_listener__)
        self.__poincare_settings__.show()


#    def __change_unit_handler__(self, _unit):
#        self.tachogramPlot.changeXUnit(_unit)
#        statusbar = StatusBarWidget(self.__initial_tab__)
#        self.__initial_tab__.setStatusBar(statusbar)
#        statusLabel = LabelWidget(statusbar,
#                    i18n_def="STATUS",
#                    add_widget_to_parent=True)
#

    def __output_file_listener__(self, _filename):
        if not hasattr(self, '__outcome_files_tracker__'):
            self.__outcome_files_tracker__ = OutcomeFilesTrackerDockWidget(
                self)
        self.__outcome_files_tracker__.show()
        self.__outcome_files_tracker__.appendFile(_filename)

    @property
    def file_specification(self):
        """
        property method returns file_specification object associate with
        tachogram plot window
        """
        return self.params.file_specification

    def show_poincare_movie_handler(self):
        if not hasattr(self, '__poincare_movie__'):
            self.__poincare_movie__ = PoincarePlotMovieDockWidget(
                self,
                data_accessor=self.data_accessor,
                output_file_listener=self.__output_file_listener__)
        self.__poincare_movie__.show()