Can use like the Window.Layout method, but it's better to use the layout parameter when creating :param rows: The rows of Elements :type rows: List[List[Element]] :return: Used for chaining :rtype: (Frame)
(self, rows)
| 7054 | self.Rows.append(CurrentRow) |
| 7055 | |
| 7056 | def layout(self, rows): |
| 7057 | """ |
| 7058 | Can use like the Window.Layout method, but it's better to use the layout parameter when creating |
| 7059 | |
| 7060 | :param rows: The rows of Elements |
| 7061 | :type rows: List[List[Element]] |
| 7062 | :return: Used for chaining |
| 7063 | :rtype: (Frame) |
| 7064 | """ |
| 7065 | |
| 7066 | for row in rows: |
| 7067 | try: |
| 7068 | iter(row) |
| 7069 | except TypeError: |
| 7070 | PopupError('Error creating Frame layout', |
| 7071 | 'Your row is not an iterable (e.g. a list)', |
| 7072 | 'Instead of a list, the type found was {}'.format(type(row)), |
| 7073 | 'The offensive row = ', |
| 7074 | row, |
| 7075 | 'This item will be stripped from your layout', keep_on_top=True, image=_random_error_emoji()) |
| 7076 | continue |
| 7077 | self.AddRow(*row) |
| 7078 | return self |
| 7079 | |
| 7080 | def _GetElementAtLocation(self, location): |
| 7081 | """ |
nothing calls this directly
no test coverage detected