From ee74bc44f0f21ed10f3182c2e1d4542b38aae768 Mon Sep 17 00:00:00 2001 From: CMDR-Kiel42 Date: Mon, 13 Jul 2020 01:11:36 +0200 Subject: [PATCH] Moved all PlaceHolderEntry into PlaceHolder --- SpanshRouter/AutoCompleter.py | 22 ++++++++++++---------- SpanshRouter/PlaceHolder.py | 9 ++++++--- SpanshRouter/PlaceHolderEntry.py | 15 --------------- SpanshRouter/SpanshRouter.py | 15 ++------------- SpanshRouter/__init__.py | 2 +- 5 files changed, 21 insertions(+), 42 deletions(-) delete mode 100644 SpanshRouter/PlaceHolderEntry.py diff --git a/SpanshRouter/AutoCompleter.py b/SpanshRouter/AutoCompleter.py index c0449e5..170d2af 100644 --- a/SpanshRouter/AutoCompleter.py +++ b/SpanshRouter/AutoCompleter.py @@ -10,11 +10,8 @@ from SpanshRouter.PlaceHolder import PlaceHolder import queue -class AutoCompleter(Entry, PlaceHolder): +class AutoCompleter(PlaceHolder): def __init__(self, parent, placeholder, **kw): - Entry.__init__(self, parent, **kw) - self.var = self["textvariable"] = StringVar() - self.var.traceid = self.var.trace('w', self.changed) self.parent = parent @@ -23,7 +20,8 @@ class AutoCompleter(Entry, PlaceHolder): self.has_selected = False self.queue = queue.Queue() - PlaceHolder.__init__(self, placeholder) + PlaceHolder.__init__(self, parent, placeholder, **kw) + self.var.traceid = self.var.trace('w', self.changed) # Create right click menu self.menu = Menu(self.parent, tearoff=0) @@ -180,11 +178,15 @@ class AutoCompleter(Entry, PlaceHolder): self.after(100, self.update_me) def set_text(self, text): - self.var.trace_vdelete("w", self.var.traceid) - self.set_default_style() - self.delete(0, END) - self.insert(0, text) - self.var.traceid = self.var.trace('w', self.changed) + try: + self.var.trace_vdelete("w", self.var.traceid) + except: + pass + finally: + self.set_default_style() + self.delete(0, END) + self.insert(0, text) + self.var.traceid = self.var.trace('w', self.changed) if __name__ == '__main__': root = Tk() diff --git a/SpanshRouter/PlaceHolder.py b/SpanshRouter/PlaceHolder.py index 0e44baa..c15105a 100644 --- a/SpanshRouter/PlaceHolder.py +++ b/SpanshRouter/PlaceHolder.py @@ -1,8 +1,11 @@ from config import config -from tkinter import END +from tkinter import Entry, END, StringVar -class PlaceHolder(): - def __init__(self, placeholder, **kw): +class PlaceHolder(Entry): + def __init__(self, parent, placeholder, **kw): + if parent is not None: + Entry.__init__(self, parent, **kw) + self.var = self["textvariable"] = StringVar() self.placeholder = placeholder self.placeholder_color = "grey" diff --git a/SpanshRouter/PlaceHolderEntry.py b/SpanshRouter/PlaceHolderEntry.py deleted file mode 100644 index 471f9c2..0000000 --- a/SpanshRouter/PlaceHolderEntry.py +++ /dev/null @@ -1,15 +0,0 @@ -try: - # Python 2 - from Tkinter import * - from .PlaceHolder import PlaceHolder -except ModuleNotFoundError: - # Python 3 - import tkinter as tk - from tkinter import * - from SpanshRouter.PlaceHolder import PlaceHolder - -class PlaceHolderEntry(Entry, PlaceHolder): - def __init__(self, parent, placeholder, **kw): - Entry.__init__(self, parent, **kw) - self.var = self["textvariable"] = StringVar() - PlaceHolder.__init__(self, placeholder) diff --git a/SpanshRouter/SpanshRouter.py b/SpanshRouter/SpanshRouter.py index 9ef0b56..ea9a3bd 100644 --- a/SpanshRouter/SpanshRouter.py +++ b/SpanshRouter/SpanshRouter.py @@ -11,23 +11,12 @@ import io from time import sleep from monitor import monitor from . import AutoCompleter -from . import PlaceHolderEntry +from . import PlaceHolder from .updater import SpanshUpdater import tkinter as tk -# from tkinter import * import tkinter.filedialog as filedialog import tkinter.messagebox as confirmDialog -# try: -# # Python 2 -# from Tkinter import * -# import Tkinter as tk -# import tkFileDialog as filedialog -# import tkMessageBox as confirmDialog -# import ttk -# except ModuleNotFoundError: -# # Python 3 - class SpanshRouter(): def __init__(self, plugin_dir): version_file = os.path.join(plugin_dir, "version.json") @@ -66,7 +55,7 @@ class SpanshRouter(): # Plotting GUI self.source_ac = AutoCompleter(self.frame, "Source System", width=30) self.dest_ac = AutoCompleter(self.frame, "Destination System", width=30) - self.range_entry = PlaceHolderEntry(self.frame, "Range (LY)", width=10) + self.range_entry = PlaceHolder(self.frame, "Range (LY)", width=10) self.efficiency_slider = tk.Scale(self.frame, from_=1, to=100, orient=tk.HORIZONTAL, label="Efficiency (%)") self.efficiency_slider.set(60) self.plot_gui_btn = tk.Button(self.frame, text="Plot route", command=self.show_plot_gui) diff --git a/SpanshRouter/__init__.py b/SpanshRouter/__init__.py index 112d035..938a1cb 100644 --- a/SpanshRouter/__init__.py +++ b/SpanshRouter/__init__.py @@ -2,5 +2,5 @@ import sys import traceback from SpanshRouter.updater import SpanshUpdater from SpanshRouter.AutoCompleter import AutoCompleter -from SpanshRouter.PlaceHolderEntry import PlaceHolderEntry +from SpanshRouter.PlaceHolder import PlaceHolder from SpanshRouter import SpanshRouter \ No newline at end of file