# Path: dragonpy/core/gui.py
# class ScrolledTextGUI(BaseTkinterGUI):
#     def __init__(self, *args, **kwargs):
#         super().__init__(*args, **kwargs)
# 
#         self.root.title(f"DragonPy - {self.cfg.MACHINE_NAME}")
# 
#         self.text = scrolledtext.ScrolledText(
#             master=self.root, height=30, width=80
#         )
#         self.text.config(
#             background="#ffffff", foreground="#000000",
#             highlightthickness=0,
#             font=('courier', 11),
#         )
#         self.text.grid(row=0, column=0, sticky=tk.NSEW)
# 
# #         self._editor_window = None
# #         self.menubar.insert_command(index=3, label="BASIC editor", command=self.open_basic_editor)
# 
#         self.root.unbind("<Key>")
#         self.text.bind("<Key>", self.event_key_pressed)
# 
#         # TODO: self.root.bind("<<Paste>>", self.paste_clipboard) ???
# 
#         # display the menu
#         self.root.config(menu=self.menubar)
#         self.root.update()
# 
#     def event_key_pressed(self, event):
#         """
#         So a "invert shift" for user inputs:
#         Convert all lowercase letters to uppercase and vice versa.
#         """
#         char = event.char
#         if not char:
#             return
# 
#         if char in string.ascii_letters:
#             char = invert_shift(char)
# 
#         self.user_input_queue.put(char)
# 
#         # Don't insert the char in text widget, because it will be echoed
#         # back from the machine!
#         return "break"
# 
#     def display_callback(self, char):
#         log.debug("Add to text: %s", repr(char))
#         if char == "\x08":
#             # Delete last input char
#             self.text.delete(tk.INSERT + "-1c")
#         else:
#             # insert the new character:
#             self.text.insert(tk.END, char)
# 
#             # scroll down if needed:
#             self.text.see(tk.END)
# 
#             # Set cursor to the END position:
#             self.text.mark_set(tk.INSERT, tk.END)


import logging
from dragonpy.core.gui import ScrolledTextGUI
"""
    DragonPy - Dragon 32 emulator in Python
    =======================================

    :created: 2014 by Jens Diemer - www.jensdiemer.de
    :copyleft: 2014 by the DragonPy team, see AUTHORS for more details.
    :license: GNU GPL v3 or above, see LICENSE for more details.
"""





log = logging.getLogger(__name__)



# Path: dragonpy/core/gui.py
# class ScrolledTextGUI(BaseTkinterGUI):
#     def __init__(self, *args, **kwargs):
#         super().__init__(*args, **kwargs)
# 
#         self.root.title(f"DragonPy - {self.cfg.MACHINE_NAME}")
# 
#         self.text = scrolledtext.ScrolledText(
#             master=self.root, height=30, width=80
#         )
#         self.text.config(
#             background="#ffffff", foreground="#000000",
#             highlightthickness=0,
#             font=('courier', 11),
#         )
#         self.text.grid(row=0, column=0, sticky=tk.NSEW)
# 
# #         self._editor_window = None
# #         self.menubar.insert_command(index=3, label="BASIC editor", command=self.open_basic_editor)
# 
#         self.root.unbind("<Key>")
#         self.text.bind("<Key>", self.event_key_pressed)
# 
#         # TODO: self.root.bind("<<Paste>>", self.paste_clipboard) ???
# 
#         # display the menu
#         self.root.config(menu=self.menubar)
#         self.root.update()
# 
#     def event_key_pressed(self, event):
#         """
#         So a "invert shift" for user inputs:
#         Convert all lowercase letters to uppercase and vice versa.
#         """
#         char = event.char
#         if not char:
#             return
# 
#         if char in string.ascii_letters:
#             char = invert_shift(char)
# 
#         self.user_input_queue.put(char)
# 
#         # Don't insert the char in text widget, because it will be echoed
#         # back from the machine!
#         return "break"
# 
#     def display_callback(self, char):
#         log.debug("Add to text: %s", repr(char))
#         if char == "\x08":
#             # Delete last input char
#             self.text.delete(tk.INSERT + "-1c")
#         else:
#             # insert the new character:
#             self.text.insert(tk.END, char)
# 
#             # scroll down if needed:
#             self.text.see(tk.END)
# 
#             # Set cursor to the END position:
#             self.text.mark_set(tk.INSERT, tk.END)


# Path: dragonpy/Multicomp6809/gui.py
import logging
from dragonpy.core.gui import ScrolledTextGUI

"""
    DragonPy - Dragon 32 emulator in Python
    =======================================

    :created: 2014 by Jens Diemer - www.jensdiemer.de
    :copyleft: 2014 by the DragonPy team, see AUTHORS for more details.
    :license: GNU GPL v3 or above, see LICENSE for more details.
"""





log = logging.getLogger(__name__)



class MulticompTkinterGUI(ScrolledTextGUI):