def clear(self, layout=None):
        """
        Clear the view, thereby deleting any existing widgets.
        """

        menu_bar = self._controller.window._menu_bar
        if menu_bar is not None:
            menu_bar.hide()

        for toolbar in self._controller.window._toolbars:
            self._controller.window.removeToolBar(toolbar)

        self._controller.window._toolbars = []

        if layout is not None:
            for index in reversed(range(layout.count())):
                item = layout.itemAt(index)

                if isinstance(item, QtGui.QWidgetItem):
                    item.widget().close()
                else:
                    self.clear(item.layout())

            # Delete the layout itself.
            QtCore.QObjectCleanupHandler().add(layout)

        # Close all figures that the view may have opened.
        plt.close('all')
Exemplo n.º 2
0
    def _cleanup(self):
        cleaner = QtCore.QObjectCleanupHandler()

        self._update_grid_button_state(running=False)

        # Remove old individual items from the list widget, then add the new 
        # individuals in the population.
        for i in range(self._listWidget.count() - 1, -1, -1):
            self._listWidget.itemWidget(self._listWidget.item(i)).close()
            self._listWidget.takeItem(i)
            self._stackedLayout.takeAt(i).widget().close()
            if i >= self._overview_items:
                self._individual_axes[i - self._overview_items].cla()
                canvas = self._individual_canvases[i - self._overview_items]
                canvas.figure.clf()
                plt.close(canvas.figure)
                cleaner.add(canvas)

        for plot in self._graph_plots.itervalues():
            plot.clear()

        if self._front_canvas is not None:
            self._front_axes.cla()
            self._front_canvas.figure.clf()
            plt.close(self._front_canvas.figure)
            cleaner.add(self._front_canvas)
            self._front_canvas = None

        if self._grid_timer is not None:
            self._grid_timer.stop()
            self._grid_timer = None

        if self._update_timer is not None:
            self._update_timer.stop()
            self._update_timer = None

        cleaner.clear()

        self._init()
Exemplo n.º 3
0
 def show_games_list(self):
     clear_layout(self.helper.get_main_content_layout())
     QtCore.QObjectCleanupHandler().add(self.helper.get_main_content_layout())
     games = self.twitch_api.get_games(limit=24)
     self.helper.set_main_content_layout(self.helper.create_games_list_layout(games, self.show_streams_by_game))
     self.main_content_box.setLayout(self.helper.get_main_content_layout())
Exemplo n.º 4
0
 def show_streams_by_game(self, game):
     clear_layout(self.helper.get_main_content_layout())
     QtCore.QObjectCleanupHandler().add(self.helper.get_main_content_layout())
     streams = self.twitch_api.get_game_streams(game, limit=12)
     self.helper.set_main_content_layout(self.helper.create_streams_layout(streams["streams"], self.player))
     self.main_content_box.setLayout(self.helper.get_main_content_layout())