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
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