self.to_create = ["rerender", "new_rendered", "object_diagrams"]
self.button_info = {"rerender": "Rerender the current model using the specified mapper and visualized model.",
"new_rendered": "Create a new 'vanilla' visualized model of the same Abstract Syntax model.",
"object_diagrams": "Bind the Object Diagrams visualization to this model.",
}
self.buttons = {}
tk.Label(self, text="Visualization").pack(side=tk.LEFT)
# Mapper
global current_mapper
selected_mapper = tk.StringVar(self)
selected_mapper.set(current_mapper if current_mapper is not None else "(none)")
om = tk.OptionMenu(self, selected_mapper, *list(allowed_mappers) if allowed_mappers else "(none)")
if not allowed_mappers:
om.configure(state=tk.DISABLED)
om.pack(side=tk.LEFT)
selected_mapper.trace('w', lambda name, index, mode: self.controller.addInput(Event("changed_mapper", "input", [id(self), selected_mapper.get()])))
# Rendered
global current_rendered_model
selected_rendered = tk.StringVar(self)
selected_rendered.set(current_rendered_model if current_rendered_model is not None else "(none)")
om = tk.OptionMenu(self, selected_rendered, *list(allowed_rendered) if allowed_rendered else "(none)")
if not allowed_rendered:
om.configure(state=tk.DISABLED)
om.pack(side=tk.LEFT)
selected_rendered.trace('w', lambda name, index, mode: self.controller.addInput(Event("changed_rendered", "input", [id(self), selected_rendered.get()])))