Skip to content

python_editor

A python editor

create_python_editor(script_string=None, parent=None, config=None)

ScriptGenerator GUI Python code editor with special features for I16 scripts

Parameters:

Name Type Description Default
script_string str | None

string to display

None
parent Misc | None

tkinter parent object

None
config dict | None

config dict

None
Source code in mmg_toolbox/tkguis/apps/python_editor.py
def create_python_editor(script_string: str | None = None, parent: tk.Misc | None = None,
                         config: dict | None = None) -> RootWithStyle:
    """
    ScriptGenerator GUI
    Python code editor with special features for I16 scripts

    :param script_string: string to display
    :param parent: tkinter parent object
    :param config: config dict
    """
    from ..widgets.python_editor import PythonEditorFrame, default_script

    root = create_root('Python Editor', parent=parent)
    config = get_config() if config is None else config

    widget = PythonEditorFrame(root, script_string, config)

    menu = {
        'File': {
            'New script': widget.new,
            'Open': widget.open,
            'Save As...': widget.saveas,
            'Save': widget.save,
            'Quit': root.destroy,
        },
    }
    topmenu(root, menu, add_about=True)

    if parent is None:
        root.mainloop()
    return root