Skip to content

python_editor

A python editor

create_python_editor(script_string=None, parent=None, config=None, filename=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
filename str | None

initial filename

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, filename: str | 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
    :param filename: initial filename
    """
    from ..widgets.python_editor import PythonEditorFrame

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

    widget = PythonEditorFrame(root, script_string, config, filename=filename)

    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