示例#1
0
    def add_button(self, title, row, column, row_span = 1, column_span = 1, padx = 1, pady = 0, command=None):
        """Function that adds a new button to the CUI grid

        Parameters
        ----------
        title : str
            The title of the button
        row : int
            The row value, from the top down
        column : int
            The column value from the top down
        row_span=1 : int
            The number of rows to span accross
        column_span=1 : int
            the number of columns to span accross
        padx=1 : int
            number of padding characters in the x direction
        pady=0 : int
            number of padding characters in the y direction
        command=None : Function
            A no-argument or lambda function to fire on button press.

        Returns
        -------
        new_button : Button
            A reference to the created button object.
        """

        id = 'Widget{}'.format(len(self.widgets.keys()))
        new_button = widgets.Button(id, title, self.grid, row, column, row_span, column_span, padx, pady, command)
        self.widgets[id] = new_button
        if self.selected_widget is None:
            self.set_selected_widget(id)
        return new_button
示例#2
0
    def add_button(
        self,
        title: str,
        row: int,
        column: int,
        row_span: int = 1,
        column_span: int = 1,
        padx: int = 1,
        pady: int = 0,
        command: Optional[Callable[[],
                                   Any]] = None) -> 'py_cui.widgets.Button':
        """Function that adds a new button to the CUI grid

        Parameters
        ----------
        title : str
            The title of the button
        row : int
            The row value, from the top down
        column : int
            The column value from the top down
        row_span=1 : int
            The number of rows to span accross
        column_span=1 : int
            the number of columns to span accross
        padx=1 : int
            number of padding characters in the x direction
        pady=0 : int
            number of padding characters in the y direction
        command=None : Function
            A no-argument or lambda function to fire on button press.

        Returns
        -------
        new_button : Button
            A reference to the created button object.
        """

        id = len(self.get_widgets().keys())
        new_button = widgets.Button(id, title, self._grid, row, column,
                                    row_span, column_span, padx, pady,
                                    self._logger, command)
        self._widgets[id] = new_button
        if self._selected_widget is None:
            self.set_selected_widget(id)
        self._logger.debug(
            f'Adding widget {title} w/ ID {id} of type {str(type(new_button))}'
        )
        return new_button