Source code for kalmus.tkinter_windows.plot_barcodes_windows.WhichBarcodeInspectWindow

""" WhichBarcodeInspectWindow Class """

import tkinter
from kalmus.tkinter_windows.plot_barcodes_windows.PlotBarcodeWindow import PlotBarcodeWindow
from kalmus.tkinter_windows.gui_utils import resource_path


[docs]class WhichBarcodeInspectWindow(): """ WhichBarcodeInspectWindow Class GUI window for user to select which barcode to inspect in detail """ def __init__(self, barcode_1, barcode_2, figsize=(6, 4), dpi=100): """ Initialize :param barcode_1: The barcode 1 :param barcode_2: The barcode 2 :param figsize: The size of the figure plotted in the window :param dpi: dpi of the plotted figure """ self.barcode_1 = barcode_1 self.barcode_2 = barcode_2 self.figsize = figsize self.dpi = dpi # Initialize the window self.window = tkinter.Tk() self.window.wm_title("Which Barcode to Inspect") self.window.iconbitmap(resource_path("kalmus_icon.ico")) # Barcode option variable self.barcode_option = tkinter.StringVar(self.window) self.barcode_option.set("Barcode 1") # Option radio button radio_barcode_1 = tkinter.Radiobutton(self.window, text="Barcode 1", variable=self.barcode_option, value="Barcode 1") radio_barcode_1.grid(row=0, column=0, padx=50) radio_barcode_1.select() radio_barcode_2 = tkinter.Radiobutton(self.window, text="Barcode 2", variable=self.barcode_option, value="Barcode 2") radio_barcode_2.grid(row=1, column=0, padx=50) # Inspect the barcode button self.button_inspect = tkinter.Button(master=self.window, text="Inspect", command=self.inspect_barcode) self.button_inspect.grid(row=2, column=0, padx=50)
[docs] def inspect_barcode(self): """ Inspect the selected barcode once user press inspect button """ # Get the selection from the user which_barcode = self.barcode_option.get() # Quit the current window self.window.destroy() # Instantiate the PlotBarcodeWindow using the user selection if which_barcode == "Barcode 1": PlotBarcodeWindow(self.barcode_1, figsize=self.figsize, dpi=self.dpi) elif which_barcode == "Barcode 2": PlotBarcodeWindow(self.barcode_2, figsize=self.figsize, dpi=self.dpi)