class data_screen: ####---------------------------------------- START OF GUI INIT ---------------------------------------#### def __init__(self, top=None): global urlAddress '''This class configures and populates the toplevel window. top is the toplevel containing window.''' _bgcolor = '#d9d9d9' # X11 color: 'gray85' _fgcolor = '#000000' # X11 color: 'black' _compcolor = '#d9d9d9' # X11 color: 'gray85' _ana1color = '#d9d9d9' # X11 color: 'gray85' _ana2color = '#ececec' # Closest X11 color: 'gray92' self.style = ttk.Style() if sys.platform == "win32": self.style.theme_use('winnative') self.style.configure('.', background=_bgcolor) self.style.configure('.', foreground=_fgcolor) self.style.map('.', background=[('selected', _compcolor), ('active', _ana2color)]) top.geometry("951x650+377+0") top.title("Data Mining") top.configure(background="#9c9c9e") top.configure(highlightbackground="#d9d9d9") top.configure(highlightcolor="#000000") self.root_label = tk.Label(top) self.root_label.place(relx=0.021, rely=0.024, height=46, width=112) self.root_label.configure(activebackground="#a5a5a8") self.root_label.configure(activeforeground="#a5a5a8") self.root_label.configure(background="#9c9c9e") self.root_label.configure(disabledforeground="#a3a3a3") self.root_label.configure( font="-family {Yu Gothic UI Semibold} -size 9 -weight bold") self.root_label.configure(foreground="#000000") self.root_label.configure(highlightbackground="#d9d9d9") self.root_label.configure(highlightcolor="black") self.root_label.configure(text='''Enter Root''') self.root_text = tk.Text(top) self.root_text.place(relx=0.158, rely=0.036, relheight=0.04, relwidth=0.604) self.root_text.configure(background="white") self.root_text.configure( font="-family {Yu Gothic UI Semibold} -size 9 -weight bold") self.root_text.configure(foreground="black") self.root_text.configure(highlightbackground="#d9d9d9") self.root_text.configure(highlightcolor="black") self.root_text.configure(inactiveselectbackground="#000000") self.root_text.configure(insertbackground="black") self.root_text.configure(selectbackground="#c4c4c4") self.root_text.configure(selectforeground="black") self.root_text.configure(width=574) self.root_text.configure(wrap="word") tooltip_font = "TkDefaultFont" ToolTip(self.root_text, tooltip_font, '''enter your root''', delay=0.5) self.search_button = tk.Button(top) self.search_button.place(relx=0.831, rely=0.036, height=33, width=146) self.search_button.configure(activebackground="#3e3eed") self.search_button.configure(activeforeground="white") self.search_button.configure(activeforeground="#000000") self.search_button.configure(background="#e8e7e6") self.search_button.configure(command=self.import_url) self.search_button.configure(disabledforeground="#a3a3a3") self.search_button.configure(font="-family {Segoe UI Emoji} -size 9") self.search_button.configure(foreground="#000000") self.search_button.configure(highlightbackground="#d9d9d9") self.search_button.configure(highlightcolor="black") self.search_button.configure(pady="0") self.search_button.configure(text='''Search''') self.search_button.configure(width=146) tooltip_font = "TkDefaultFont" ToolTip(self.search_button, tooltip_font, '''press to Search''', delay=0.5) self.export_to_txt_button = tk.Button(top) self.export_to_txt_button.place(relx=0.852, rely=0.881, height=73, width=106) self.export_to_txt_button.configure(activebackground="#ececec") self.export_to_txt_button.configure(activeforeground="#000000") self.export_to_txt_button.configure(background="#d9d9d9") self.export_to_txt_button.configure( command=Window_support.export_to_txt) self.export_to_txt_button.configure(disabledforeground="#a3a3a3") self.export_to_txt_button.configure(foreground="#000000") self.export_to_txt_button.configure(highlightbackground="#d9d9d9") self.export_to_txt_button.configure(highlightcolor="#000000") self.export_to_txt_button.configure(pady="0") self.export_to_txt_button.configure(text='''export to TXT''') self.export_to_txt_button.configure(width=106) tooltip_font = "TkDefaultFont" ToolTip(self.export_to_txt_button, tooltip_font, '''press to export the table to TXT file''', delay=0.5) self.filter_button = tk.Button(top) self.filter_button.place(relx=0.862, rely=0.155, height=73, width=96) self.filter_button.configure(activebackground="#ececec") self.filter_button.configure(activeforeground="#000000") self.filter_button.configure(background="#d9d9d9") self.filter_button.configure(disabledforeground="#a3a3a3") self.filter_button.configure(foreground="#000000") self.filter_button.configure(highlightbackground="#d9d9d9") self.filter_button.configure(highlightcolor="black") self.filter_button.configure(pady="0") self.filter_button.configure(command=self.search_by_model) self.filter_button.configure(text='''Find Specific\n Model''') self.filter_model_text = tk.Text(top) self.filter_model_text.place(relx=0.831, rely=0.286, relheight=0.04, relwidth=0.151) self.filter_model_text.configure(background="white") self.filter_model_text.configure(font="TkTextFont") self.filter_model_text.configure(foreground="black") self.filter_model_text.configure(highlightbackground="#d9d9d9") self.filter_model_text.configure(highlightcolor="black") self.filter_model_text.configure(insertbackground="black") self.filter_model_text.configure(selectbackground="#c4c4c4") self.filter_model_text.configure(selectforeground="black") self.filter_model_text.configure(width=144) self.filter_model_text.configure(wrap="word") tooltip_font = "TkDefaultFont" ToolTip(self.filter_model_text, tooltip_font, '''enter specific model to filter the result''', delay=0.5) self.reset_button = tk.Button(top) self.reset_button.place(relx=0.032, rely=0.929, height=33, width=186) self.reset_button.configure(activebackground="#ececec") self.reset_button.configure(activeforeground="#000000") self.reset_button.configure(background="#d9d9d9") self.reset_button.configure(disabledforeground="#a3a3a3") self.reset_button.configure(foreground="#000000") self.reset_button.configure(highlightbackground="#d9d9d9") self.reset_button.configure(highlightcolor="black") self.reset_button.configure(pady="0") self.reset_button.configure(command=self.delete_Scrolledtext) self.reset_button.configure(text='''Reset''') tooltip_font = "TkDefaultFont" ToolTip(self.reset_button, tooltip_font, '''press to reset the table''', delay=0.5) self.menubar = tk.Menu(top, font="TkMenuFont", bg=_bgcolor, fg=_fgcolor) top.configure(menu=self.menubar) self.Scrolledtext1 = ScrolledText(top) self.Scrolledtext1.place(relx=0.032, rely=0.107, relheight=0.802, relwidth=0.783) self.Scrolledtext1.configure(background="white") self.Scrolledtext1.configure(font="TkTextFont") self.Scrolledtext1.configure(state="disabled") self.Scrolledtext1.configure(foreground="black") self.Scrolledtext1.configure(highlightbackground="#d9d9d9") self.Scrolledtext1.configure(highlightcolor="black") self.Scrolledtext1.configure(insertbackground="black") self.Scrolledtext1.configure(insertborderwidth="50") self.Scrolledtext1.configure(selectbackground="#c4c4c4") self.Scrolledtext1.configure(selectforeground="black") self.Scrolledtext1.configure(width=200) self.Scrolledtext1.configure(wrap="none") ####---------------------------------------- END OF GUI INIT ---------------------------------------#### #**************** function for search button ********************# def import_url(self): ''' GUI method that import all table from specific url :return: None ''' self.Scrolledtext1.configure(state="normal") self.Scrolledtext1.delete("1.0", "end-1c") urlAddress = self.root_text.get("1.0", "end-1c") self.Scrolledtext1.insert( tk.INSERT, Window_support.search_window(urlAddress, 'all')) self.Scrolledtext1.configure(state="disabled") #**************** END function for search button ********************# #**************** START function for filter button ********************# def search_by_model(self): ''' function that do the same as import_url but, filter by specific model and return table :return:None ''' self.Scrolledtext1.configure(state="normal") self.Scrolledtext1.delete("1.0", "end-1c") urlAddress = self.root_text.get("1.0", "end-1c") model = self.filter_model_text.get("1.0", 'end-1c') self.Scrolledtext1.insert( tk.INSERT, Window_support.search_window(urlAddress, model)) self.Scrolledtext1.configure(state="disabled") #**************** END function for filter button ********************# #**************** START function for reset button ********************# def delete_Scrolledtext(self): ''' functio that delete the scrolled_text when we want a new table :return: None ''' self.Scrolledtext1.configure(state="normal") self.Scrolledtext1.delete("1.0", "end-1c") self.root_text.delete("1.0", "end-1c") self.Scrolledtext1.configure(state="disabled")