def add_checkbox_menu(self, title, row, column, row_span=1, column_span=1, padx=1, pady=0, checked_char='X'): """Function that adds a new checkbox menu to the CUI grid Parameters ---------- title : str The title of the checkbox 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 checked_char='X' : char The character used to mark 'Checked' items Returns ------- new_checkbox_menu : CheckBoxMenu A reference to the created checkbox object. """ id = 'Widget{}'.format(len(self.widgets.keys())) new_checkbox_menu = widgets.CheckBoxMenu(id, title, self.grid, row, column, row_span, column_span, padx, pady, checked_char) self.widgets[id] = new_checkbox_menu if self.selected_widget is None: self.set_selected_widget(id) return new_checkbox_menu
def add_checkbox_menu( self, title: str, row: int, column: int, row_span: int = 1, column_span: int = 1, padx: int = 1, pady: int = 0, checked_char: str = 'X') -> 'py_cui.widgets.CheckBoxMenu': """Function that adds a new checkbox menu to the CUI grid Parameters ---------- title : str The title of the checkbox 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 checked_char='X' : char The character used to mark 'Checked' items Returns ------- new_checkbox_menu : CheckBoxMenu A reference to the created checkbox object. """ id = len(self.get_widgets().keys()) new_checkbox_menu = widgets.CheckBoxMenu(id, title, self._grid, row, column, row_span, column_span, padx, pady, self._logger, checked_char) self._widgets[id] = new_checkbox_menu 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_checkbox_menu))}' ) return new_checkbox_menu