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)
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?
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?