MCPcopy Index your code
hub / github.com/secdev/scapy / _make_table

Method _make_table

scapy/modules/ticketer.py:1496–1565  ·  view source on GitHub ↗
(self, element, name, headers, lst, datastore=None)

Source from the content-addressed store, hash-verified

1494 )
1495
1496 def _make_table(self, element, name, headers, lst, datastore=None):
1497 wrap = ttk.LabelFrame(element, text=name)
1498 tree = ttk.Treeview(wrap, column=headers, show="headings", height=4)
1499 vsb = ttk.Scrollbar(wrap, orient="vertical", command=tree.yview)
1500 vsb.pack(side="right", fill="y")
1501 tree.configure(yscrollcommand=vsb.set)
1502 for h in headers:
1503 tree.column(h, anchor=tk.CENTER)
1504 tree.heading(h, text=h)
1505 for i, row in enumerate(lst):
1506 tree.insert(parent="", index="end", iid=i, values=row)
1507 tree.pack(fill="x", padx=10, pady=10)
1508
1509 def _update_datastore():
1510 children = [tree.item(x, "values") for x in tree.get_children()]
1511 (self._data if datastore is None else datastore)[name] = children
1512
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)
1539 if dialog.success:
1540 i = len(tree.get_children())
1541 tree.insert(parent="", index="end", iid=i, values=dialog.values())
1542 _update_datastore()
1543
1544 def edit():
1545 selected = tree.focus()
1546 if not selected:
1547 return
1548 values = dict(zip(headers, tree.item(selected, "values")))
1549 dialog = EditDialog(title="Edit", parent=tree, values=values)
1550 if dialog.success:
1551 tree.item(selected, values=dialog.values())
1552 _update_datastore()
1553

Callers 3

_getLogonInformationMethod · 0.95
funcMethod · 0.95
edit_ticketMethod · 0.95

Calls 1

configureMethod · 0.80

Tested by

no test coverage detected