# -*- coding: utf-8 -*-
"""The graphical part of a fromSMILES node"""
import seamm
import seamm_widgets as sw
import tkinter as tk
[docs]
class TkFromSMILES(seamm.TkNode):
"""The graphical part of the From SMILES step"""
def __init__(
self, tk_flowchart=None, node=None, canvas=None, x=120, y=20, w=200, h=50
):
"""Initialize a node
Keyword arguments:
"""
super().__init__(
tk_flowchart=tk_flowchart, node=node, canvas=canvas, x=x, y=y, w=w, h=h
)
[docs]
def right_click(self, event):
"""Probably need to add our dialog..."""
super().right_click(event)
self.popup_menu.add_command(label="Edit..", command=self.edit)
self.popup_menu.tk_popup(event.x_root, event.y_root, 0)
[docs]
def create_dialog(self):
"""Create a dialog for editing the SMILES string"""
frame = super().create_dialog("Edit SMILES Step")
# Create the widgets and grid them in
P = self.node.parameters
for key in P:
self[key] = P[key].widget(frame)
widgets = []
row = 0
for item in (
"notation",
"smiles string",
"structure handling",
"system name",
"configuration name",
):
self[item].grid(row=row, column=0, columnspan=2, sticky=tk.EW)
widgets.append(self[item])
row += 1
sw.align_labels(widgets)