| 1513 | _update_datastore() |
| 1514 | |
| 1515 | class EditDialog(tksd.Dialog): |
| 1516 | def __init__(self, *args, **kwargs): |
| 1517 | self.data = {} |
| 1518 | self.initial_values = kwargs.pop("values", {}) |
| 1519 | self.success = False |
| 1520 | super(EditDialog, self).__init__(*args, **kwargs) |
| 1521 | |
| 1522 | def body(diag, frame): |
| 1523 | self._make_fields( |
| 1524 | frame, |
| 1525 | [(x, diag.initial_values.get(x, "")) for x in headers], |
| 1526 | datastore=diag.data, |
| 1527 | ) |
| 1528 | return frame |
| 1529 | |
| 1530 | def ok(self, *args, **kwargs): |
| 1531 | self.success = True |
| 1532 | super(EditDialog, self).ok(*args, **kwargs) |
| 1533 | |
| 1534 | def values(self): |
| 1535 | return tuple(x.get() for x in self.data.values()) |
| 1536 | |
| 1537 | def add(): |
| 1538 | dialog = EditDialog(title="Add", parent=tree) |