Moved all PlaceHolderEntry into PlaceHolder

This commit is contained in:
CMDR-Kiel42 2020-07-13 01:11:36 +02:00
parent 653bba386b
commit ee74bc44f0
5 changed files with 21 additions and 42 deletions

View File

@ -10,11 +10,8 @@ from SpanshRouter.PlaceHolder import PlaceHolder
import queue import queue
class AutoCompleter(Entry, PlaceHolder): class AutoCompleter(PlaceHolder):
def __init__(self, parent, placeholder, **kw): 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 self.parent = parent
@ -23,7 +20,8 @@ class AutoCompleter(Entry, PlaceHolder):
self.has_selected = False self.has_selected = False
self.queue = queue.Queue() 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 # Create right click menu
self.menu = Menu(self.parent, tearoff=0) self.menu = Menu(self.parent, tearoff=0)
@ -180,7 +178,11 @@ class AutoCompleter(Entry, PlaceHolder):
self.after(100, self.update_me) self.after(100, self.update_me)
def set_text(self, text): def set_text(self, text):
try:
self.var.trace_vdelete("w", self.var.traceid) self.var.trace_vdelete("w", self.var.traceid)
except:
pass
finally:
self.set_default_style() self.set_default_style()
self.delete(0, END) self.delete(0, END)
self.insert(0, text) self.insert(0, text)

View File

@ -1,8 +1,11 @@
from config import config from config import config
from tkinter import END from tkinter import Entry, END, StringVar
class PlaceHolder(): class PlaceHolder(Entry):
def __init__(self, placeholder, **kw): 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 = placeholder
self.placeholder_color = "grey" self.placeholder_color = "grey"

View File

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

View File

@ -11,23 +11,12 @@ import io
from time import sleep from time import sleep
from monitor import monitor from monitor import monitor
from . import AutoCompleter from . import AutoCompleter
from . import PlaceHolderEntry from . import PlaceHolder
from .updater import SpanshUpdater from .updater import SpanshUpdater
import tkinter as tk import tkinter as tk
# from tkinter import *
import tkinter.filedialog as filedialog import tkinter.filedialog as filedialog
import tkinter.messagebox as confirmDialog 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(): class SpanshRouter():
def __init__(self, plugin_dir): def __init__(self, plugin_dir):
version_file = os.path.join(plugin_dir, "version.json") version_file = os.path.join(plugin_dir, "version.json")
@ -66,7 +55,7 @@ class SpanshRouter():
# Plotting GUI # Plotting GUI
self.source_ac = AutoCompleter(self.frame, "Source System", width=30) self.source_ac = AutoCompleter(self.frame, "Source System", width=30)
self.dest_ac = AutoCompleter(self.frame, "Destination 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 = tk.Scale(self.frame, from_=1, to=100, orient=tk.HORIZONTAL, label="Efficiency (%)")
self.efficiency_slider.set(60) self.efficiency_slider.set(60)
self.plot_gui_btn = tk.Button(self.frame, text="Plot route", command=self.show_plot_gui) self.plot_gui_btn = tk.Button(self.frame, text="Plot route", command=self.show_plot_gui)

View File

@ -2,5 +2,5 @@ import sys
import traceback import traceback
from SpanshRouter.updater import SpanshUpdater from SpanshRouter.updater import SpanshUpdater
from SpanshRouter.AutoCompleter import AutoCompleter from SpanshRouter.AutoCompleter import AutoCompleter
from SpanshRouter.PlaceHolderEntry import PlaceHolderEntry from SpanshRouter.PlaceHolder import PlaceHolder
from SpanshRouter import SpanshRouter from SpanshRouter import SpanshRouter