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

View File

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

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

View File

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