Example #1
0
 def set_status_bar(self):
     defaults = {
         "padx": 5, # add padding in x direction
         "pady": 0, # add padding in y direction
     }
     self.status_bar.set_label("python_version", get_python_info(), **defaults)
     self.status_bar.set_label("dragonpy_version", "DragonPy v%s" % dragonpy.__version__, **defaults)
Example #2
0
 def set_status_bar(self):
     defaults = {
         "padx": 5,  # add padding in x direction
         "pady": 0,  # add padding in y direction
     }
     self.status_bar.set_label("python_version", get_python_info(),
                               **defaults)
     self.status_bar.set_label("dragonpy_version",
                               "DragonPy v%s" % dragonpy.__version__,
                               **defaults)
Example #3
0
    def __init__(self, cfg, user_input_queue):
        self.cfg = cfg
        self.runtime_cfg = RuntimeCfg()

        # Queue to send keyboard inputs to CPU Thread:
        self.user_input_queue = user_input_queue

        self.op_delay = 0
        self.burst_op_count = 100
        self.cpu_after_id = None  # Used to call CPU OP burst loop
        self.target_burst_duration = 0.1  # Duration how long should a CPU Op burst loop take

        self.init_statistics()  # Called also after reset

        self.root = tk.Tk(className="DragonPy")
        # self.root.config(font="Helvetica 16 bold italic")

        self.root.geometry("+%d+%d" % (self.root.winfo_screenwidth() * 0.1,
                                       self.root.winfo_screenheight() * 0.1))

        self.root.bind("<Key>", self.event_key_pressed)
        self.root.bind("<<Paste>>", self.paste_clipboard)

        menu_tk_font = TkFont.Font(
            family='Helvetica',
            # family='clean',
            size=11,
            weight='normal')

        self.status = tk.StringVar(value="startup %s...\n" %
                                   self.cfg.MACHINE_NAME)
        self.status_widget = tk.Label(self.root,
                                      textvariable=self.status,
                                      text="Info:",
                                      borderwidth=1,
                                      font=menu_tk_font)
        self.status_widget.grid(row=1, column=0)

        self.status_bar = MultiStatusBar(
            self.root,
            row=2,
            column=0,
            sticky=tk.NSEW,
        )
        self.status_bar.set_label("python_version", get_python_info())
        self.status_bar.set_label("dragonpy_version",
                                  "DragonPy v%s" % dragonpy.__version__)

        self.menubar = tk.Menu(self.root)

        filemenu = tk.Menu(self.menubar, tearoff=0)
        filemenu.add_command(label="Exit", command=self.exit)
        self.menubar.add_cascade(label="File", menu=filemenu)

        # 6809 menu
        self.cpu_menu = tk.Menu(self.menubar, tearoff=0)
        self.cpu_menu.add_command(label="pause",
                                  command=self.command_cpu_pause)
        self.cpu_menu.add_command(label="resume",
                                  command=self.command_cpu_pause,
                                  state=tk.DISABLED)
        self.cpu_menu.add_separator()
        self.cpu_menu.add_command(label="soft reset",
                                  command=self.command_cpu_soft_reset)
        self.cpu_menu.add_command(label="hard reset",
                                  command=self.command_cpu_hard_reset)
        self.menubar.add_cascade(label="6809", menu=self.cpu_menu)

        self.config_window = None
        self.menubar.add_command(label="config", command=self.command_config)
        # FIXME: Only for developing: Open config on startup!
        # self.root.after(200, self.command_config)

        # help menu
        helpmenu = tk.Menu(self.menubar, tearoff=0)
        helpmenu.add_command(label="help", command=self.menu_event_help)
        helpmenu.add_command(label="about", command=self.menu_event_about)
        self.menubar.add_cascade(label="help", menu=helpmenu)

        self.auto_shift = True  # auto shift all input characters?
Example #4
0
    def __init__(self, cfg, user_input_queue):
        self.cfg = cfg
        self.runtime_cfg = RuntimeCfg()

        # Queue to send keyboard inputs to CPU Thread:
        self.user_input_queue = user_input_queue

        self.op_delay = 0
        self.burst_op_count = 100
        self.cpu_after_id = None # Used to call CPU OP burst loop
        self.target_burst_duration = 0.1 # Duration how long should a CPU Op burst loop take

        self.init_statistics() # Called also after reset

        self.root = tk.Tk(className="DragonPy")
        # self.root.config(font="Helvetica 16 bold italic")

        self.root.geometry("+%d+%d" % (
            self.root.winfo_screenwidth() * 0.1, self.root.winfo_screenheight() * 0.1
        ))

        self.root.bind("<Key>", self.event_key_pressed)
        self.root.bind("<<Paste>>", self.paste_clipboard)

        menu_tk_font = TkFont.Font(
            family='Helvetica',
            # family='clean',
            size=11, weight='normal'
        )

        self.status = tk.StringVar(value="startup %s...\n" % self.cfg.MACHINE_NAME)
        self.status_widget = tk.Label(
            self.root, textvariable=self.status, text="Info:", borderwidth=1,
            font=menu_tk_font
        )
        self.status_widget.grid(row=1, column=0)

        self.status_bar = MultiStatusBar(self.root, row=2, column=0,
            sticky=tk.NSEW,
        )
        self.status_bar.set_label("python_version", get_python_info())
        self.status_bar.set_label("dragonpy_version", "DragonPy v%s" % dragonpy.__version__)

        self.menubar = tk.Menu(self.root)

        filemenu = tk.Menu(self.menubar, tearoff=0)
        filemenu.add_command(label="Exit", command=self.exit)
        self.menubar.add_cascade(label="File", menu=filemenu)

        # 6809 menu
        self.cpu_menu = tk.Menu(self.menubar, tearoff=0)
        self.cpu_menu.add_command(label="pause", command=self.command_cpu_pause)
        self.cpu_menu.add_command(label="resume", command=self.command_cpu_pause, state=tk.DISABLED)
        self.cpu_menu.add_separator()
        self.cpu_menu.add_command(label="soft reset", command=self.command_cpu_soft_reset)
        self.cpu_menu.add_command(label="hard reset", command=self.command_cpu_hard_reset)
        self.menubar.add_cascade(label="6809", menu=self.cpu_menu)

        self.config_window = None
        self.menubar.add_command(label="config", command=self.command_config)
        # FIXME: Only for developing: Open config on startup!
        # self.root.after(200, self.command_config)

        # help menu
        helpmenu = tk.Menu(self.menubar, tearoff=0)
        helpmenu.add_command(label="help", command=self.menu_event_help)
        helpmenu.add_command(label="about", command=self.menu_event_about)
        self.menubar.add_cascade(label="help", menu=helpmenu)

        self.auto_shift=True # auto shift all input characters?